我有一个django应用程序,模型如下:
一个Question模型
一个Answer模型,一个ForeignKey回到问题.(一个问题可以有多个答案.)
一个Flag模型,带有一个ForeignKey答案.(答案可能被标记为不合适.)
以上所有内容都有一个user字段,用于定义创建该对象的用户.
我正在尝试获取所有问题的列表,其中包含当前用户已被标记的答案.我试过这个:
Question.objects.filter(answer__user=user).\
filter(answer__flag__isnull=False).distinct()
Run Code Online (Sandbox Code Playgroud)
...但我相信这将返回一个问题列表,其中包含当前用户的答案以及已被标记的答案,但不一定能保证它是已被标记的用户答案.
是否有捷径可寻?基本上,我想让answer过滤器的一部分在两者上引用相同的答案.
如果不清楚,请告诉我.
查询完全符合您的要求,但您应该过滤标志不是的问题 null.链接过滤器被and编辑在一起,因此它将过滤掉所有具有特定用户答案的问题,然后针对标记的答案过滤该集合.
您也可以将这两个标准放在同一个filter电话中:
Question.objects.filter(answer__user=user, answer__flag__isnull=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |