Django - 从ManyToManyField获取值,这是关键

时间:2017-04-29 14:49:24

标签: python django python-3.x

请帮助理解。

我有下一个型号:

class TagsList(models.Model):
    tags_list = models.CharField(max_length=30)

    def __str__(self):
        return self.tags_list

class Blog(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)
    tags = models.ManyToManyField(TagsList)

我如何按对象获取相关标签(在我的案例中使用post_id)? 这是我的观点文件:

def single(request, post_id):
    object_post = Blog.objects.get(id=post_id)
    tags = TagsList.objects.all()
    content = {
        'object_post': object_post,
        'tags': tags,
    }
    return render(request, 'single.html', content)

我尝试了所有案例,但是如何将与此对象相关的标签准确包含在内容中,并不知道。 谢谢大家,求助。

P.S。使用django 1.11

1 个答案:

答案 0 :(得分:2)

评论的初步答案

在多对多关系中,您可以访问相关对象,请在def single中尝试:

tags=object_post.tags.all()