【问题标题】:How to convert query to django ORM [closed]如何将查询转换为 django ORM [关闭]
【发布时间】:2016-12-17 17:21:24
【问题描述】:
SELECT * FROM mytable
WHERE 
'2016-08-05' BETWEEN from_date AND COALESCE(to_date,CURDATE()) 
OR 
'2016-08-11' BETWEEN from_date AND COALESCE(to_date,CURDATE()

以上是mysql中的查询。如何在 Django 中编写此查询? MyTable 是 Django 中映射到 MySQL 的 mytable 表的对象的名称

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    最简单的方法

    了解Raw SQL

    MyTable.objects.raw(your_sql)
    

    更复杂

    了解QuerySet.extra

    MyTable.objects.all().extra(where="'2016-08-05' BETWEEN from_date AND COALESCE(to_date,CURDATE()) OR '2016-08-11' BETWEEN from_date AND COALESCE(to_date,CURDATE())")
    

    【讨论】:

      猜你喜欢
      • 2019-10-17
      • 1970-01-01
      • 2016-06-04
      • 2016-04-20
      • 2020-09-12
      • 1970-01-01
      • 2015-08-23
      • 2017-09-10
      相关资源
      最近更新 更多