我有一个模特和另一个有很多关系。我按照https://gist.github.com/jdklub/9261959中的示例从changelist视图使manytomy字段可编辑。但是,当我进行更改时,实际上只保存了对manytomy字段的更改。在
管理员py
class HostChangeList(ChangeList):
def __init__(self, request, model, list_display, list_display_links,
list_filter, date_hierarchy, search_fields, list_select_related,
list_per_page, list_max_show_all, list_editable, model_admin):
super(HostChangeList, self).__init__(request, model, list_display, list_display_links,
list_filter, date_hierarchy, search_fields, list_select_related,
list_per_page, list_max_show_all, list_editable, model_admin)
self.list_display = ('action_checkbox', 'name', 'ip', 'fagroup', 'description', 'customer_facing', 'monitored', 'puppet', 'sso')
self.list_editable = ['fagroup', 'description', 'customer_facing', 'monitored', 'puppet', 'sso']
self.list_display_links = ['name']
class HostForm(forms.ModelForm):
fagroup = forms.ModelMultipleChoiceField(queryset=FAgroup.objects.all(),widget=forms.SelectMultiple(attrs={'size': '10'}),required=False)
description = forms.CharField(required=False)
customer_facing = forms.NullBooleanField()
monitored = forms.NullBooleanField()
puppet = forms.NullBooleanField()
sso = forms.NullBooleanField()
class HostAdmin(admin.ModelAdmin):
def get_changelist(self, request, **kwargs):
return HostChangeList
def get_changelist_form(self, request, **kwargs):
return HostForm
模型.py
^{pr2}$我甚至尝试从ModelForm和ChangeList中删除对manytomy字段的所有引用,但是没有一个字段保存。它不会给出任何错误,并给出记录已保存的消息,但没有任何更改持续存在。在
我不确定这是否是解决这个问题的正确方法,但是我能够通过重写HostAdmin类的内置save函数来保存它。希望这对其他人看到类似问题有帮助。在
相关问题 更多 >
编程相关推荐