我正在阅读Django文档,尤其是关于Q()类的文档。
它有几个部分,如:Q() objects和Complex lookups with Q objects
在那里,作者提到可以传递给Q()的论据,如
Q(question__startswith='What')
我知道还有其他可能的论点,比如
Q(name__icontains='What')
这让我得出结论,所有可用args的完整列表必须存在于某处,不幸的是,尽管如此,搜索官方文档或谷歌搜索导致什么
如果有人能解释我,在这种情况下我该怎么办,我们将非常感激
* UPD @FamousJameous评论把我指向了正确的地方,如果这个帖子应该保留为像我这样的笨蛋或者因为无用而删除。
答案 0 :(得分:1)
正如文件所说:
Q对象(如F对象)将SQL表达式封装在 可以在与数据库相关的操作中使用的Python对象
因此Q对象可以接收模型字段或带注释列的所有字段。所以如果你定义一个像这样的模型:
class Home(models.Model):
address = models.CharField(max_length=255)
您可以使用:
Home.objects.filter(Q(address="user address"))
因此您可以使用模型中的任何字段和Q对象。您还可以在查询中使用所有内置fields lookups和custom-lookups。