- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Django admin 中,有谁知道在保存表单时如何从 FilteredSelectMultiple 小部件中获取所选值?
class ControllerForm(forms.ModelForm):
terminal = forms.ModelMultipleChoiceField(queryset=[])
def __init__(self, *args, **kwargs):
super(ControllerForm, self).__init__(*args, **kwargs)
self.fields['terminal'].widget = widgets.FilteredSelectMultiple('terminals', False)
self.fields['terminal'].help_text = "Select the terminals which are to be added to the group."
self.fields['terminal'].required = False
self.fields['terminal'].label = "Select terminal(s)"
self.fields['terminal'].choices = [(t.id, str(t)) for t in Terminal.objects.filter(associated=False)]
class Meta:
model = Controller
class ControllerAdmin(admin.ModelAdmin):
"""
Controller admin form customization.
"""
list_display = ('name', 'group',)
form = ControllerForm
admin.site.register(Controller, ControllerAdmin)
编辑:我想我可以访问 save_model 方法中的值。 (https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model)
最佳答案
我已经找到解决方案了。使用 ModelAdmin 中提供的 save_model 方法,可以访问 form.cleaned_data 字典中选定的对象。
def save_model(self, request, obj, form, change):
for terminal in form.cleaned_data['terminal']:
...
obj.save()
结账 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model和 https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs有关此方法的更多详细信息。
谢谢
关于python - 从 Django 中的 FilteredSelectMultiple 小部件获取所选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709973/
我正在使用 FilteredSelectMultiple 小部件,但它只是不想看起来像管理员中的那个。 Javascript 控制台显示 Uncaught TypeError: undefined i
我正在尝试使用 FilteredSelectMultiple 小部件创建表单。我设法让它显示在我的页面上,但在接收用户输入时遇到了困难。目前,在我单击submit按钮后,页面只需刷新并再次显示相同的表
我遇到了与 [@DHerls][1] 相同的问题,但给定的解决方案对我不起作用。 > Django FilteredSelectMultiple not rendering on page 其他类似问
我目前正在使用 Django 版本 1.11.2,并且想在管理页面之外使用 FilteredSelectMultiple 小部件。 这是我的forms.py: class TBDAuthGroupMa
我有一个 ModelForm,其中使用 FilteredSelectMultiple 小部件。当我以我创建的 super 用户身份登录时,它工作得非常好。但是,未登录时,我无法看到表单中的小部件,我只
我正在尝试使用 FilteredSelectMultiple 小部件来显示用户列表。目前它只显示用户名。我试图覆盖 label_from_instance 如下所示,但它似乎不起作用。它如何才能显示用
我正在尝试复制 FilteredSelectMultiple django 应用程序管理中使用的小部件。 但是我的小部件呈现非常不同 管理员中使用 django-suit 的小部件或 django_a
在 Django admin 中,有谁知道在保存表单时如何从 FilteredSelectMultiple 小部件中获取所选值? class ControllerForm(forms.ModelFor
我正在尝试替换管理中默认的 ManyToManyField 小部件以使用 FilteredSelectMultiple,但遇到了一些问题。我的错误是渲染时捕获类型错误:解包非序列 这是我的模型 cla
我是一名优秀的程序员,十分优秀!