我想在Django Admin列表视图中引入自定义可编辑字段。我想做一些与此question非常相似的事情。
我面临的问题是Django要求list_editable
中的所有字段都必须是模型中的字段。
class SomeModel(Model):
...
class SomeModelChangeListForm(forms.ModelForm):
class Meta:
model = SomeModel
name = forms.CharField()
class SomeModelAdmin(admin.ModelAdmin):
def get_changelist_form(self, request, **kwargs):
return SomeModelForm
list_display = ['name']
list_editable = ['name']
因此,如果模型上没有name
字段,它就不起作用,验证失败。
修改:我得到的具体验证错误:
django.core.exceptions.ImproperlyConfigured: ' SomeModelAdmin.list_editable'是指字段,'名称'不是 在SomeModel上定义。
您可以在来源中看到此地点:Django sources。
答案 0 :(得分:1)
通过@kagronick
添加一些澄清答案添加到SomeModelAdmin
def name(self, obj=None):
pass
答案 1 :(得分:0)
前几天我遇到了这个。事实证明,只需要一个变量或类似
的方法def name(self):
pass
让它消失。