我有两个模型
class Tag(models.Model):
key = models.CharField(max_length=200)
class Post(models.Model):
name = models.CharField(max_length=200)
tags = models.ManyToManyField(Tag)
我试图用标签列表过滤掉帖子。假设标签
heat
和warm
。我将在api函数(['heat', 'warm']
)中获得标签列表。我想过滤所有具有标签在列表中的标签的Post数据。我尝试了很多类型,但没有得到正确的输出。有没有办法对单个查询执行此操作? 最佳答案
使用此标记键等于heat
或warm
的所有帖子
Post.objects.filter(tags__key_in=['heat', 'warm'])
添加唯一性以避免重复:
Post.objects.filter(tags__key_in=['heat', 'warm']).distinct()
关于python - 在Django中查询ManyToMany给我重复的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42956736/