如何在常规SQL中编写这个Django查询?

时间:2011-02-20 22:34:41

标签: python sql mysql database django

results = Content.objects.filter(next_decay_at__lte=datetime.datetime.now())

3 个答案:

答案 0 :(得分:2)

执行Django ORM的查询是等效的(Django直接从Python获取日期时间)到:

SELECT field1, field2, fieldn FROM app_content WHERE next_decay_at <= NOW()

NOW()是一个提供实际日期时间的SQL函数。 您可以在以下网址获得更多信息:

http://www.w3schools.com/sql/sql_func_now.asp

答案 1 :(得分:1)

您可以准确了解Django使用results._as_sql()发送的内容。在您的特定情况下,它将使用您传入的特定日期编写查询。如果您实际上是直接在SQL中编写查询,则可能需要使用符号NOW()

答案 2 :(得分:0)

您应该考虑利用https://github.com/robhudson/django-debug-toolbar并查看SQL标签。您将有机会在您的应用中查看所有查询。