Hi Steve, You can use annotate for this <https://docs.djangoproject.com/en/1.9/ref/models/expressions/#using-f-with-annotations> .
from datetime import timedelta from django.db.models import DurationField, ExpressionWrapper, F Entry.objects.annotate( duration=ExpressionWrapper( F('end') - F('start'), output_field=DurationField() ) ).filter(duration__gte=timedelta(minutes=time_in_minutes) Cheers, Simon Le mardi 19 janvier 2016 13:01:36 UTC-5, Steven Nash a écrit : > > Hi, > > Given an object such as: > > class Entry(models.Model): > start = models.TimeField() > end = models.TimeField() > > I'd like to be able to say something like: > > Entry.objects.filter(F('end')-F('start')__gt=time_in_minutes) > > Is there a way of doing this without implementing a separate duration > field and having a setter for start and end update it? > > Cheers, > Steve > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/52638b82-dbcf-49a4-ad87-afdc81cfd5dd%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.