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
:
>>> 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.