django Queryset с годом (дата) = '2010' - PullRequest
16 голосов
/ 15 августа 2010

Я пытаюсь построить этот запрос

select * from m_orders where year(order_date) = '2010' 

поле order_date является полем DateTime.Я просто не хочу использовать необработанные SQL-запросы здесь.Можно ли вообще использовать, например, функции MySQL в кверсетах django?

Ответы [ 2 ]

22 голосов
/ 15 августа 2010

Вы можете достичь этого без использования необработанного SQL.Вместо этого используйте встроенный механизм __ (подробности см. В документации ).Как то так:

MyOrder.objects.filter(order_date__year = 2010)
6 голосов
/ 15 августа 2010

для этого вы можете использовать встроенный API запросов django. нет необходимости в каком-либо конкретном коде поставщика или в необработанном SQL.

это будет выглядеть примерно так:

Orders.objects.filter(order_date__year=2010)

http://docs.djangoproject.com/en/dev/topics/db/queries/

...