1
Forループのすべてではなく、メンバーのメンバーのみを設定するにはどうすればよいですか?Djangoのメンバーシップを使用して多対多のプロパティにアクセスするには
template.html:
{% for g in gr %}
<div class="jumbotron">
<div class="jumbo2">
<form method="POST" class="post-form"> {% csrf_token %}
<p id="name"><b>Groups name:</b> {{g.name}}</p><br>
{% for membership in g.membership_set.all %}
<p><b>Member:</b> {{ membership.person }} - {{ membership.role }}</p>
{% endfor %}
<br>
<span class="desc2">Groups description:</span>
<p id="desc">{{g.description}}</p><br>
{% for membership in g.membership_set.all %}
{% if membership.leader == False %}
<button style="float: right" type="submit" name = "leave" value = "{{g.name}}" class="save btn btn-default">Leave</button>
{% elif membership.leader == True %}
<button style="float: right" type="submit" name = "delete" value = "{{g.name}}" class="save btn btn-default">Delete</button>
{% endif %}
{% endfor %}
</form>
<br><br>
<p></p>
</div>
</div>
{% endfor %}
models.py:私はいくつかのグループ内のユーザーを持っているよう
class Person(models.Model):
name = models.CharField(max_length=128)
def __str__(self): # __unicode__ on Python 2
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
description = models.TextField(max_length=350)
def __str__(self): # __unicode__ on Python 2
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
leader = models.BooleanField(default=False)
group = models.ForeignKey(Group)
role = models.CharField(max_length=50)
私のボタンはできるだけ多くdispleyedされています。 ボタンを1つだけ表示したいのですが、私はこのグループのメンバーシップのためにForLoopを正確に行う必要があります。これどうやってするの?
「マイメンバーシップ」とはどういう意味ですか?それは完全に不明です。あなたのモデルを投稿することもできますか? –
つまり、ループ{g%membership_set.all%のメンバーシップ}は、あるグループのすべてのメンバーシップを通過しています。だから私がチェックしたいのは、私のメンバーシップ(このグループの私の人)が真または偽のリーダーフィールドを持っているのですが、私が今持っているこのループは、このグループのすべてのメンバー(すべてのメンバーシップ)を通過しています。 私はモデルを変更して追加します – Damian