Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. class Foo(models.Model):
  2. start = models.DateTimeField()
  3. end = models.DateTimeField()
  4.  
  5. from django.db.models import F
  6.  
  7. Foo.objects.filter(start__year=F('end__year'))
  8.  
  9. SELECT "foo"."id", "foo"."start", "foo"."end" FROM "foo" WHERE django_datetime_extract('year', "foo"."start", 'UTC') = ("foo"."end")
  10.  
  11. from django.db.models import F
  12. from django.db.models.functions import ExtractYear
  13.  
  14. Foo.objects.annotate(start_year=ExtractYear(F('start'))).filter(end__year=F('start_year'))
  15.  
  16. SELECT "foo"."id", "foo"."start", "foo"."end", django_datetime_extract('year', "foo"."start", 'UTC') AS "start_year" FROM "foo" WHERE django_datetime_extract('year', "foo"."end", 'UTC') = (django_datetime_extract('year', "foo"."start", 'UTC'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement