我想知道这是django.admin,django甚至python特有的东西吗?但是,如果我无法访问他们的字段,我真的不明白抽象超类的意义:-) . 我做错了什么吗?
示例:我得到一个FieldError,其中包含为模块指定的以下“异常值:未知字段(creation_date) . 检查字段/字段集/排除类ModuleAdmin的属性”如果我使用管理界面获取以下模型“模块” :
class GeneralModel(models.Model):
creation_date = models.DateTimeField('date of creation', auto_now_add=True)
edited_date = models.DateTimeField('date of last modification', auto_now=True)
class Meta:
abstract = True
class Module(GeneralModel):
name = models.CharField(max_length=100)
shortDescription = models.CharField("summary", max_length=100)
description = models.CharField("description", max_length=1500)
authors = models.ManyToManyField("Author", through="Authorship")
def __unicode__(self):
return self.name
使用以下ModelAdmin代码:
class ModuleAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
formfield = super(ModuleAdmin, self).formfield_for_dbfield(db_field, **kwargs)
if db_field.name == 'description':
formfield.widget = forms.Textarea(attrs=formfield.widget.attrs)
return formfield
fieldsets = [
("General", {"fields": ["name", "shortDescription"]}),
("Details", {"fields": ["description", "creation_date"], "classes": ["collapse"]})
]
1 回答
你的问题与答案有关:https://stackoverflow.com/a/3594927/3006165
根据文件说明: