Đang cố gắng truy vấn trong đó bản ghi Hoạt động đã cũ trong Chỉ mục Solr của tôi. Tôi muốn kiểm tra xem ngày Activity.updated
trong cơ sở dữ liệu có lớn hơn Activity.added_toSolr_date
cho cùng một bản ghi hay không.Cách tạo bộ lọc truy vấn Django so sánh hai trường ngày trong cùng một kiểu
stale_activities_queryset = Activity.objects.filter(updated__gte = self.added_toSolr_date)
Mẫu
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")
Tôi tham khảo tài liệu Django Query: https://docs.djangoproject.com/en/1.4/ref/models/querysets/ Và đơn vị xét nghiệm cho mẫu: https://github.com/django/django/blob/master/tests/modeltests/or_lookups/tests.py
Cũng đã tìm kiếm ở đây trên Stackoverflow. Tất cả các ví dụ đều sử dụng ngày đã nhập thay vì so sánh hai trường ngày trong cùng một mô hình.
Cảm ơn bạn rất nhiều! Làm thế nào bạn phát hiện ra điều này? –
@CarlosFerreira, qua nhiều năm sử dụng django mỗi ngày. Tôi thực sự không thể nói khi nào. –
giải pháp tốt đẹp! gần như đăng cùng một câu hỏi – Ron