タイトルが明確かどうかわかりません。問題はそれほど簡単ではなく、私は英語の話者ではないので、簡単に説明するのは非常に難しいです。タイトルを改善するためのすべての提案は大歓迎です。オブジェクトの主キーをそのビューからManyToMany関係オブジェクトビューに渡す
だから、実際の問題に行きましょう...私のアプリケーションでは、人々はさまざまなグループに参加することができます。現在、私はこの目的のために招待システムを作成しているので、ユーザーは別のユーザーに招待状を送ることができます。グループビューでは、このグループに接続されていないユーザーのリストがあり、グループメンバーはそれらのユーザーを招待できます。だから、私がグループビューに行くとき、私はそれを主キーとしています。招待についてのデータベースセルを作成するには、グループのPKとユーザーPKも必要です(別のビューを使用していますが、それが最善の解決策ではないと思います)。
私の質問はどのように私はデータベース内のグループ - ユーザーの関係のセルを作成する新しいビューにこれら2つのPKを渡すことができますか?
models.py:
class Group(models.Model):
name = models.CharField(max_length=500)
members = models.ManyToManyField(User, blank=True, related_name="member")
invitations = models.ManyToManyField(User, blank=True, related_name="invitations")
views.py:
def not_yet_members_list_view(request, pk):
group = Group.objects.get(pk=pk)
not_yet_members = User.objects.all() #doesn't matter
args = {'group': group, 'not_yet_members': not_yet_members}
return render(request, 'groups/show_members.html', args)
# Here is my problem (this code is a simplified version of what I want to achieve)
def invite_user_view(request, group_pk, user_pk):
invite_user(group_pk, user_pk)
return render(request, 'groups/show_members.html')
urls.py:
url(r'^not_yet_members_list/(?P<pk>\d+)/$', views.not_yet_members_list, name='not_yet_members_list'),
template.html:あなたがデータにアクセスする必要がどこにビューでグループおよびユーザー
request.session['group_pk'] = group_pk
request.session['user_pk']= user_pk
を渡す必要がどこから見て
{% for user in not_yet_members %}
<!-- ??? -->{{ user }}<a href="{% url 'groups:invite_user_view' pk=group.id %}">Invite</a>
{% endfor %}
よくセッションを保存して次のビューにアクセスすることができます。ユーザーが招待されたら、セッションをクリアしてください – Exprator
どうすればいいですか? –
助けてくれてありがとう! –