Próbuję uzyskać zapytanie, w którym rekord aktywności jest nieaktualny w indeksie Solr. Chcę sprawdzić, czy data Activity.updated
w bazie danych jest większa niż Activity.added_toSolr_date
dla tego samego rekordu.Jak utworzyć filtr zapytań Django, porównując dwa pola dat w tym samym modelu?
stale_activities_queryset = Activity.objects.filter(updated__gte = self.added_toSolr_date)
model
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")
ja odwoływać dokumenty Django zapytanie: https://docs.djangoproject.com/en/1.4/ref/models/querysets/ i jednostkę testy dla próbek: https://github.com/django/django/blob/master/tests/modeltests/or_lookups/tests.py
szukali także tutaj na Stackoverflow. Wszystkie przykłady używają wprowadzonej daty zamiast porównywania dwóch pól dat w tym samym modelu.
Dziękuję bardzo! Jak to odkryłeś? –
@CarlosFerreira, przez lata używania django każdego dnia. Naprawdę nie mogę powiedzieć kiedy. –
fajne rozwiązanie! prawie opublikował to samo pytanie – Ron