Reputation: 31
I need to find data for one month so which query work faster "between" OR "__gte" and "__lte" ?
Upvotes: 0
Views: 253
Reputation: 1
range
operator:
Clarity: More concise and readable, especially for simple month-based filtering.
Performance: This can be faster depending on the database engine and specific query. Some databases optimize range queries efficiently.
2.__gte
and __lte
operators:
range
in some cases, but usually negligible.Upvotes: -1
Reputation: 1397
you can use the range for getting data between two dates
data = Model.objects.filter(date__range(date1,date2))
Refer documentation
Upvotes: 0
Reputation: 13373
Sample code using timeit
module
from timeit import timeit
setup = 'from app.models import Model'
timeit('Model.objects.filter(field__gte="2018-02-20 12:22:00")', setup=setup)
timeit('Model.objects.filter(field__lte="2018-02-20 12:22:00")', setup=setup)
Upvotes: 3