我有一个帖子模型,我希望类别属性是一组选项。我还希望能够动态更改选项。我目前使用的是多对多关系,因此无论何时发布帖子,都必须选择一个类别,并且我可以通过这种方式编辑每个类别的选择。但我不知道如何访问为帖子选择的类别选项。
例如,我可以发布标题为“苹果”的帖子并选择类别名称“食物”,然后我可以发布标题为“玫瑰”和类别名称“花卉”的帖子。然后我可以在模板上显示每个帖子的标题,但我无法显示或弄清楚如何存储/访问类别名称。
这是我的模型
class Category(models.Model):
name = models.CharField(max_length = 50)
class Post(models.Model):
title = models.CharField(max_length=50, blank=True)
category = models.ManyToManyField(Category)
就像现在一样,我可以继续管理并发布带有标题的帖子,然后从该帖子的列表中选择我为该帖子创建的类别。
这是我的视图和模板
def index(request):
posts = Post.objects.order_by("-created")
return render(request,'posts/index.html', {'posts':posts,'categories':categories})
{% for post in posts %}
{{ post.title }} | of {{ post.category }}
{% endfor %}
post.category 不显示类别,而是
如何显示帖子的类别名称?我需要以不同的方式进行设置吗?如果您知道我这样做的方法,请告诉我您的想法。我认为多对多关系是要走的路,但也许不是