我正在学习Django,并且已经完成了各种教程。我已经创建了一个基本的博客网站,但是想添加标签功能。它可以正常工作-我有带有指定标签的帖子,但现在我很难在这些帖子中列出这些标签。
blog / models.py:
class Post(models.Model):
title = models.CharField(max_length=50)
text = models.CharField(max_length=1000)
pub_date = models.DateTimeField('date published')
author = models.CharField(max_length=30)
mail = models.EmailField()
class Tag(models.Model):
name = models.CharField(max_length=15)
posts = models.ManyToManyField(Post, related_name="tags")
我知道我需要类似的东西:
Tag.objects.filter()
但您能否指导我如何只列出与特定职位相关的那些人?我尝试了各种组合,但没有一个能很好地工作...
最佳答案
没有办法实现这一目标。
获取标签,查找引起该标签的所有帖子。
try:
tag = Tag.objects.get(name="#blawBlaw")
posts_of_that_tag = tag.posts.all()
except Tag.DoesNotExist:
pass
另一种方式:
获取帖子并找到它的标签
try:
p = Post.Objects.get(id=1)
tags = p.tag_set.all();
except Post.DoesNotExist:
pass
关于python - 在Django中按ManyToMany关系列出标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47916030/