在 Django Admin FilteredSelectmultiple 小部件中预填充选定值
Pre-populating Selected Values in Django Admin FilteredSelectmultiple Widget
我希望能够在 Django Admin FilteredSelectMultiple 小部件的右侧设置一些默认 selected 用户。
这是我的模型:
class UserAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
widget=FilteredSelectMultiple("Users",
is_stacked=False))
class Meta:
model = User
exclude = ()
有没有办法用 JavaScript 来做到这一点,这样我就不必在每次创建新项目时都手动 select 这些默认值?
您可以通过设置 initial=…
parameter [Django-doc] 来指定初始数据:
class UserAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
<strong>initial=User.objects.filter(username__in=['johnsmith', 'janedoe'])</strong>,
widget=FilteredSelectMultiple('Users', is_stacked=False)
)
class Meta:
model = User
fields = '__all__'
这里我们设置为初始选择的用户johnsmith
和janedoe
。您当然可以选择其他用户。
我希望能够在 Django Admin FilteredSelectMultiple 小部件的右侧设置一些默认 selected 用户。
这是我的模型:
class UserAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
widget=FilteredSelectMultiple("Users",
is_stacked=False))
class Meta:
model = User
exclude = ()
有没有办法用 JavaScript 来做到这一点,这样我就不必在每次创建新项目时都手动 select 这些默认值?
您可以通过设置 initial=…
parameter [Django-doc] 来指定初始数据:
class UserAdminForm(forms.ModelForm):
users = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
<strong>initial=User.objects.filter(username__in=['johnsmith', 'janedoe'])</strong>,
widget=FilteredSelectMultiple('Users', is_stacked=False)
)
class Meta:
model = User
fields = '__all__'
这里我们设置为初始选择的用户johnsmith
和janedoe
。您当然可以选择其他用户。