我在 Django 应用中有这两个模型:
class Tag(models.Model):
name = models.CharField(max_length=100, blank=False, unique=True)
class Article(models.Model):
title = models.CharField(max_length=100, blank=True, default='')
tags = models.ManyToManyField(Tag, blank=True)
在我看来,我想 过滤文章,只获取
articles.tags
包含带有 id == 2
标签的文章。我怎样才能做到这一点 ?我试过了
tags = Tag.objects.filter(pk=2);
articles = Article.objects.filter(len(tags) > 0)
但我有这个错误 'bool' object is not itterable
。 最佳答案
这是在django中过滤manytomany的正确方法
articles = Article.objects.filter(tags__in=[2])
或者
tags = Tag.objects.filter(pk=2)
articles = Article.objects.filter(tags__in=tags)
关于python - 在 Django 模型中过滤多对多字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33086192/