我正在尝试这样过滤:
#models.py
class A(models:Model):
all_letters = models.ManyToManyField(Letters, related_name="all_letters")
selected_letters = models.ManyToManyField(Letters, related_name="selected_letters")
#views.py
a = A.objects.get(pk=pk)
array_one = a.all_letters.all().exclude(a.selected_letters.all())
我知道你不能根据实例进行过滤,但这是使用某种手动 python 搜索来执行此操作的唯一等效方法吗?
最佳答案
您可以过滤掉反向关系(您也将其命名为selected_letters
)不指向a
的项目,因此:
array_one = a.all_letters.exclude(<b>selected_letters=a</b>)
关于python - 使用过滤器和排除来过滤对象及其实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66535845/