テンプレートのフォームのフィールドの値を表示するのに問題があります。値はテンプレートで使用できるはずですが、使用できないようです。
状況は次のとおりです。
models.py:
class Member(models.Model):
...
name = models.CharField(max_length=10, unique=True)
description = models.CharField(max_length=50, blank=True)
class Pool(models.Model):
...
members = models.ManyToManyField(Member, through='MemberPoolDates')
class MemberPoolDates(models.Model):
member = models.ForeignKey(Member)
pool = models.ForeignKey(Pool)
date = models.DateField(null=True, blank=True)
ビュー.py:
pool = Pool.objects.get(id=pool_id)
MemberFormSet = modelformset_factory(MemberPoolDates, form=MemberForm)
memberformset = MemberFormSet(queryset=MemberPoolDates.objects.filter(
pool=pool))
テンプレート:
<form action="" method="post">
{% csrf_token %}
<table>
{{ poolform }}
</table>
<h2>Pool entries:</h2>
{{ memberformset.management_form }}
{% for memberform in memberformset %}
{{ memberform.id }}
{{ memberform.member }}
{{ memberform.member.name }}
{{ memberform.member.description }}
{% endfor %}
<input type="submit" name="save" value="Save pool"/>
</form>
テンプレート{{ memberform.member }}
にはドロップダウンが正しく表示されますが、{{ memberform.member.description }}
何も{{ memberform.member.name }}
表示されず、member.nameの値の代わりに「member」がテキストとして表示されます(私が望んでいたもの)。
テンプレートのメンバーのフィールドにアクセスするにはどうすればよいですか? 具体的には、memberform を介してテンプレートに member.name と member.description の値を表示するにはどうすればよいですか?