Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django模型中使用ManyToManyField_Django - Fatal编程技术网

如何在Django模型中使用ManyToManyField

如何在Django模型中使用ManyToManyField,django,Django,我试图找到一种简单的方法来查找具有相同标签的博客。 例如,某个博客上有“wood”、“desk”、“furniture”等标签。我想找到一些至少有一个标记的博客。请参阅此处有关如何筛选关系的文档: 要了解如何使用多个过滤器(标签为“wood”或“desk”或“furniture”的博客),请参见以下示例: 下面的代码应该可以满足您的要求: class Blog(models.Model): title = model.CharField(max_length=100) text

我试图找到一种简单的方法来查找具有相同标签的博客。
例如,某个博客上有“wood”、“desk”、“furniture”等标签。我想找到一些至少有一个标记的博客。

请参阅此处有关如何筛选关系的文档:

要了解如何使用多个过滤器(标签为“wood”或“desk”或“furniture”的博客),请参见以下示例:

下面的代码应该可以满足您的要求:

class Blog(models.Model):
    title = model.CharField(max_length=100)
    text = TextField()
    tags = ManyToManyField(‘Tag’,blank=True)
    …

class Tag(models.Model):
    tag = models.ChatField(max_length=50, unique=True)
    …

请针对您的问题。如何在运行时实现这一点?在运行时,我不知道有多少标记。@eachone“在运行时”是什么意思?我上面发布的代码允许您查找至少有一个标记的博客(并将它们保存在名为“blogs”的变量中)。“博客”中的项目数量是与筛选器匹配的标记数量。
blogs = Blog.objects.filter(tags__tag='wood').filter(tags__tag='desk').filter(tags_tag='furniture')