Ich möchte diese Funktion jeden Tag um Mitternacht ausführen, um Ablaufdatum-Benachrichtigung zu überprüfen. Was kann ich tun? Ich bin neu in Django und Python.Django - Wie man eine Funktion jeden Tag ausführt?
def check_expiry_date(request):
products = Product.objects.all()
for product in products:
product_id = product.id
expiry_date = product.expiry_date
notification_days = product.notification_days
check_date = int((expiry_date - datetime.datetime.today()).days)
if notification_days <= check_date:
notification = Notification(product_id=product_id)
notification.save()
ich zu, um es in benutzerdefinierten Management command..But Planung, welche Art von Funktion sollte ich in Basecommand inherted Klasse geben ?? – nabeel
Ich möchte nicht wirklich eine andere Antwort erstellen, also werde ich einfach versuchen, den Kommentar einzufügen. Erstellen Sie einfach eine Klasse, die von * BaseCommand * erbt, erstellen Sie String-Attribute: * args * und * help *, die eine kurze Beschreibung/Syntaxinformationen für manage.py --help enthalten. Dann definiere eine * handle * -Methode ... und das war's. In dieser Methode können Sie Ihre Funktion importieren und einfach ausführen. Ich kann sehen, dass diese Funktion * wahrscheinlich * eine Ansicht jetzt ist. Aber wenn ich auf seinen Körper schaue, benutzt er das Anfrageobjekt nicht wirklich, also kannst du es einfach arglos lassen und es einfach anrufen. – samu