投稿モデルがあり、カテゴリ属性を一連のオプションにしたい。また、オプションを動的に変更できるようにしたいと考えています。私は現在、多対多の関係を使用しているため、投稿が行われるたびにカテゴリを選択する必要があり、この方法で各カテゴリの選択を編集できます. しかし、投稿の選択されたカテゴリ オプションにアクセスする方法がわかりません。
例えば、タイトルが「りんご」でカテゴリ名が「食べ物」の投稿を作成し、タイトルが「バラ」でカテゴリ名が「花」の投稿を作成できます。次に、テンプレートに各投稿のタイトルを表示できますが、カテゴリ名を保存/アクセスする方法を表示または把握できません。
これが私のモデルです
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 にはカテゴリは表示されませんが、
投稿のカテゴリ名を表示するにはどうすればよいですか? これを別の方法で設定する必要がありますか? これを行う方法をご存じでしたら、ご意見をお聞かせください。ManyToMany 関係が進むべき道だと思っていましたが、そうではないかもしれません