Предварительное заполнение выбранных значений в виджете Django Admin FilteredSelectmultiple
Я хочу иметь возможность установить некоторых выбранных по умолчанию пользователей в правой части виджета Django Admin FilteredSelectMultiple.
Это моя модель:
class UserAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
widget=FilteredSelectMultiple("Users",
is_stacked=False))
class Meta:
model = User
exclude = ()
Есть ли способ сделать это с помощью JavaScript, чтобы мне не приходилось вручную выбирать эти значения по умолчанию каждый раз, когда я создаю новый элемент?
Вы можете указать начальные данные, задав параметр initial=…
[Django-doc] с:
class UserAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
initial=User.objects.filter(username__in=['johnsmith', 'janedoe']),
widget=FilteredSelectMultiple('Users', is_stacked=False)
)
class Meta:
model = User
fields = '__all__'
Здесь мы устанавливаем в качестве начальных выбранных пользователей johnsmith
и janedoe
. Вы, конечно, можете выбрать других пользователей.