ATS
ATS

Reputation: 31

Django query which work faster "between" or __gte, __lte

I need to find data for one month so which query work faster "between" OR "__gte" and "__lte" ?

Upvotes: 0

Views: 253

Answers (3)

Mohamed Samir
Mohamed Samir

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:

  • Clarity: This can be verbose, especially for complex filtering involving multiple fields.
  • Performance: Might be slightly slower than range in some cases, but usually negligible.

Upvotes: -1

Shihabudheen K M
Shihabudheen K M

Reputation: 1397

you can use the range for getting data between two dates

data = Model.objects.filter(date__range(date1,date2))

Refer documentation

Documentation for db queries

Upvotes: 0

shad0w_wa1k3r
shad0w_wa1k3r

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

Related Questions