Ich muss Objekte älter als X
Anzahl der Tage filtern. Ich weiß, diese Frage existiert hier: django filter older than day(s)?Django - Filter Objekte älter als X Tage
Aber ich versuche nicht, genau das zu tun, da die Anzahl der Tage, in meinem Fall im Modell lebt:
class Post(models.Model):
title = models.CharField(max_length=200)
description = models.CharField(max_length=500)
createdAt = models.DateTimeField(default=datetime.now, blank=True)
plan = models.ForeignKey(Plan) # This model has the number of days
Dies ist die Abfrage, die ich so habe weit:
EDIT: änderte ich den days.plan Teil für the_post.plan.days
Bedeutung, dass die Anzahl der Tage, die ich verwende plan
Feld in jeder Post zu vergleichen ist.
Post.objects.filter(createdAt__lte=datetime.now() - timedelta(days=the_post.plan.days))
Notiere die plan.days
Teil der Abfrage. Wie kann ich für diese Abfrage auf the_post.plan.days
verweisen? Ist es möglich?
Hey @lucasnadalutti Das scheint die richtige Antwort zu sein, aber ich bekomme diesen Fehler zurück: 'ValueError: Nicht naive Datetime (tzinfo ist bereits gesetzt)' nicht sicher warum – danielrvt
Ersetze 'datetime.now()' mit 'timezone .now() ', da es mit' from django.utils import timezone' importiert wird – lucasnadalutti