【发布时间】:2016-07-23 00:37:12
【问题描述】:
好的,所以我有一个位置和菜单选项的模型以及它们之间的多对多关系。
我想做的是显示尚未附加到该位置的菜单选项。所以我就这么做了。。
options = Options.objects.exclude(location=location_pk)
但是,这会导致当前没有任何位置关系的菜单选项不会出现在列表中。
我想做的是这两者的结合:
Options.objects.filter(location=None)
Options.objects.exclude(location=location_pk)
我试过了……
options = options.filter(Q(location=None) | ~Q(location=location_pk))
...但是当一个选项有多个位置时,~Q(location=location_pk) 将与另一个位置匹配。
有人可以帮忙吗?
我确信这一定是可能的,但我的一部分认为它可能不是,或者解决方案可能需要不必要地复杂。
谢谢。
【问题讨论】:
标签: python django django-queryset django-q