class ExtractWeekDay(expression, tzinfo=None, **extra)
[source]
-
lookup_name = 'week_day'
These are logically equivalent to Extract('date_field', lookup_name)
. Each class is also a Transform
registered on DateField
and DateTimeField
as __(lookup_name)
, e.g. __year
.
Since DateField
s don’t have a time component, only Extract
subclasses that deal with date-parts can be used with DateField
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | >>> from datetime import datetime >>> from django.utils import timezone >>> from django.db.models.functions import ( ... ExtractYear, ExtractMonth, ExtractDay, ExtractWeekDay ... ) >>> start_2015 = datetime( 2015 , 6 , 15 , 23 , 30 , 1 , tzinfo = timezone.utc) >>> end_2015 = datetime( 2015 , 6 , 16 , 13 , 11 , 27 , tzinfo = timezone.utc) >>> Experiment.objects.create( ... start_datetime = start_2015, start_date = start_2015.date(), ... end_datetime = end_2015, end_date = end_2015.date()) >>> Experiment.objects.annotate( ... year = ExtractYear( 'start_date' ), ... month = ExtractMonth( 'start_date' ), ... day = ExtractDay( 'start_date' ), ... weekday = ExtractWeekDay( 'start_date' ), ... ).values( 'year' , 'month' , 'day' , 'weekday' ).get( ... end_date__year = ExtractYear( 'start_date' ), ... ) { 'year' : 2015 , 'month' : 6 , 'day' : 15 , 'weekday' : 2 } |
Please login to continue.