我有两个模型
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()
