2010-08-15 1 views
15

Я пытаюсь построить этот запрос,Джанго QuerySet с года (дата) = '2010'

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

поле order_date это поле DateTime. Я просто не хочу использовать сырые sql-запросы здесь. Можно ли использовать, например, MySQL работает в django quersets?

ответ

21

Вы можете достичь этого без использования необработанного SQL. Используйте встроенный механизм __ (более подробную информацию см. На странице documentation). Что-то вроде этого:

MyOrder.objects.filter(order_date__year = 2010) 
+0

Это является удивительным. Благодаря! – onigunn

5

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

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

Orders.objects.filter(order_date__year=2010) 

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