に二つのフィールドのデータを結合するには、我々のようなフィールドがいるクラブを言いますそれに。私はClub.objects.filter(pk=mypk).members.all()
とClub.objects.filter(pk=mypk).manager
の2つのリクエストを試みました。私はチェーン機能を試して、 '| '演算子は動作しませんでした。私はマネージャーが単一のユーザーであり、クエリーセットではないと思います、それが主要な問題です。回避策はありますか?Djangoは私がモデルを持っているクエリセット
0
A
答えて
0
すべての情報をまとめて取得するには、form choicesの変更が必要です。
ビューでは、フォームにコンテキストとして選択肢を渡す必要があります。フォームで
def my_view(request, club_pk):
context = {}
context.update({
"manager": Club.objects.get(pk=club_pk).manager,
"members": Club.objects.get(pk=club_pk).members.all()
}
form = MyForm(request.POST or None, request=request, context=context)
、あなたはそうのようなあなたの選択肢を更新するために__init__
方法を変更する必要があります:
class MyForm(forms.Form):
all_club_members = forms.ChoiceField('Manager + Members', required=True)
def __init__(self, *args, **kwargs):
self.context = kwargs.pop('context', None)
super(MyForm, self).__init__(*args, **kwargs)
manager_tuple = [(self.context['manager'].id, self.context['manager'].display_name)]
members_tuples = [(member.id, member.display_name) for member in self.context['members']
self.fields['all_club_members'].choices = manager_tuple + members_tuples
0
これを試してみてください:
manager = [Club.objects.filter(pk=mypk).manager]
members = Club.objects.filter(pk=mypk).members.all()
userlist = list(manager) + list(members)
return Users.objects.filter(pk__in=userlist)
は、すべてのユーザーのクエリセットを作成する必要があります
関連する問題
- 1. は、私は次のモデルを持っているクエリセット
- 2. ジャンゴ - クエリセット - すべての親が、私はこのモデルを持っている
- 3. Djangoは、私はDjangoのモデルを持っている匿名ユーザー
- 4. ジャンゴ:私は私のDjangoのアプリで、次の(簡体字)のモデル持っているクエリセット
- 5. Djangoは - 私は私のモデルのフィールドを持っているTypedChoiceField
- 6. 、私はモデルのためのいくつかの結果を含むDjangoのクエリセット持っているDjangoのクエリセットから
- 7. のpython Djangoは、私が持っているのpythonでモデルを持っているオブジェクト/モデル
- 8. DjangoのモデルAは、私は2つのモデルを持っているモデルB
- 9. Djangoのモデルのバリデータは、私がフィールドバリデータでモデルを持っている
- 10. Djangoはラジオボタン、私は次のモデルを持っている
- 11. 無関係なモデルを結合し、私は参加したいと思い、次のモデル持っているクエリセット
- 12. ProgrammingError:私は、次のモデルとDjangoのアプリを持っている
- 13. 私は、次のDjangoのモデルを持っているジャンゴ
- 14. Djangoは:私が持っている
- 15. 私はこのDjangoのモデル持っているテンプレート
- 16. Djangoは、私がモデルの下に持って
- 17. ジャンゴ - 私はモデルを持っている
- 18. は、私がモデルを持っている別のモデル
- 19. は、私が予約モデルを持っている単一のモデル
- 20. Djangoは私がCharFieldですでモデルを持っている管理者
- 21. Djangoのクエリセットは、私はそうのようなシンプルなDjangoのコマンドを持ってupdateコマンド
- 22. Djangoは、私は3つのモデルを持っている外部キー変換
- 23. Djangoは、私は、次の2つのモデルを持っているクエリ
- 24. Djangoの管理リンクは、私は次のモデルを持っている関係オブジェクト
- 25. フェッチモデルは私がモデル持っ
- 26. は、私は次のモデルを持っているモデル
- 27. は、私は三つのモデルを持っているモデル
- 28. モデルは、私は次のモデルを持っている
- 29. モデルは、私はこのモデルを持っている
- 30. どのように私は次のクエリセットを持って
私はクエリーセットだけを返す必要があります。 get_querysetメソッドをオーバーライドしています。 –
これでユーザのリストが得られました。すべてのユーザIDのクエリセットを 'Users.objects.filter(pk__in = userlist)'を使って返すことができます。http://stackoverflow.com/questions/1058135/django-convert-a -list-to-a-queryset – Written
これはうまくいったのですか? – Written