如何在Django ORM中执行以下SQL查询?
SELECT * FROM my_table WHERE date_added > date_created;
答案 0 :(得分:3)
我猜你没有date_created
可用作变量(正如@tttthomasssss所假设的那样)所以它会是这样的:
from django.db import models
YourTable.objects.filter(date_added__gt=models.F('date_created')
关于F表达式的文档:https://docs.djangoproject.com/en/dev/ref/models/expressions/#f-expressions
答案 1 :(得分:1)
您可以__gt
使用>
:MyModel.objects.filter(date_added__gt=date_created)
。
请参阅querysets here的文档。
修改强>
如果date_created
无法使用,那么@ Wolph的解决方案就是其中之一。
答案 2 :(得分:0)
你可以use F() expressions in queries这样:
MyModel.objects.filter(date_added__gt=F('date_created'))