年份(日期)= '2010' 的 Django 查询集

Posted

技术标签:

【中文标题】年份(日期)= \'2010\' 的 Django 查询集【英文标题】:django Queryset with year(date) = '2010'年份(日期)= '2010' 的 Django 查询集 【发布时间】:2011-03-30 02:02:56 【问题描述】:

我正在尝试构建此查询

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

字段 order_date 是一个 DateTime 字段。我只是不想在这里使用原始 sql 查询。甚至可以使用例如django quersets 中的 mysql 函数?

【问题讨论】:

【参考方案1】:

您可以在不使用原始 SQL 的情况下实现此目的。请改用内置的__ 机制(有关更多详细信息,请参阅documentation)。像这样的:

MyOrder.objects.filter(order_date__year = 2010)

【讨论】:

【参考方案2】:

您可以为此使用 django 的内置查询 API。不需要任何供应商特定的代码或原始 SQL。

它可能看起来像这样:

Orders.objects.filter(order_date__year=2010)

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

【讨论】:

以上是关于年份(日期)= '2010' 的 Django 查询集的主要内容,如果未能解决你的问题,请参考以下文章

Django - 按最大(日期)年份过滤查询集

Django按日期范围过滤但不包括年份

如何使用 update() 在 Django 中的日期时间字段上增加年份?

如何设置日期选择器以单独显示 1910-2010 之间的年份

Oracle 日期 - 如何将年份相加

查询数据库,分解日期以获取年份,并使用唯一年份填充下拉列表