Der Versuch, eine Abfrage zu erhalten, bei der der Aktivitätsdatensatz in meinem Solr-Index veraltet ist. Ich möchte überprüfen, ob das Activity.updated
Datum in der Datenbank größer ist als die Activity.added_toSolr_date
für den gleichen Datensatz.So erstellen Sie einen Django-Queryset-Filter, der zwei Datumsfelder im selben Modell vergleicht
stale_activities_queryset = Activity.objects.filter(updated__gte = self.added_toSolr_date)
Modell
class Activity(models.Model):
# Last time entry/metric was updated in the Activity model database
updated = models.DateTimeField(verbose_name="CRUD date")
# When it was added to Solr Index Date
added_toSolr_date = models.DateTimeField(blank=True, null=True, verbose_name="Added to Solr Index Date")
I verwiesen docs Django Abfrage: https://docs.djangoproject.com/en/1.4/ref/models/querysets/ und Unit-Tests für die Proben: https://github.com/django/django/blob/master/tests/modeltests/or_lookups/tests.py
auch hier auf Stackoverflow gesucht. Alle Beispiele verwenden ein eingegebenes Datum, anstatt zwei Datumsfelder im selben Modell zu vergleichen.
Vielen Dank! Wie hast du das entdeckt? –
@CarlosFerreira, durch jahrelange Verwendung von Django jeden Tag. Ich kann nicht wirklich sagen wann. –
nette Lösung! fast die gleiche Frage geschrieben – Ron