Решение :
Для этого конкретного запроса вам нужно будет использовать ModelChoiceField
, как указано ниже, не забывая передавать набор запросов для объектов, которые вы хотите, чтобы ваш пользовательвыберите из.
Итак, я бы изменил ваш forms.py
на:
class SignUpForm(UserCreationForm):
...
branch_name = forms.ModelChoiceField(queryset = Branch.objects.all())
...
... или если вам нужно выбрать несколько ветвей:
class SignUpForm(UserCreationForm):
...
branch_name = forms.ModelMultipleChoiceField(queryset = Branch.objects.all())
...
Дополнительный Pro-Tip , расширение ModelChoiceField
:
Вы можете даже добавить следующее, если не хотите отображать толькоPrimaryKey / ID (pk
) модели Branch
(вернее, возвращающий branch_name
):
fields.py
:
from django.forms import ModelChoiceField
class MyBranchModelChoiceField(ModelChoiceField):
def label_from_instance(self, obj):
return "Branch: #%i" % obj.branch_name
Затем используйте аналогичные выше:
branch_name = forms.MyBranchModelChoiceField(queryset = Branch.objects.all())