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 [email protected].
To post to this group, send email to [email protected].
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.