我有一个抽象模型,定义了一些字段,以及从中继承的其他模型 . 如果我为这个模型定义一个表单,基本字段没有定义,我不能在表单中使用它 .
如果我用字段指定它我得到这个错误:
例外值:为经销商指定的未知字段(created_at,updated_at)
异常位置: new ,第215行中的C:\ Python27 \ lib \ site-packages \ django \ forms \ models.py
这是我的代码: ``
class BaseModel(models.Model):
created_at = models.DateTimeField(default=datetime.now, editable=False)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
class Reseller(BaseModel):
name = models.CharField(_("name"), max_length=255, unique=True)
class ResellerForm(forms.ModelForm):
class Meta:
model = Reseller
fields = ('name','created_at','updated_at')
UPD
它可以通过这三个类清晰地重现新的空项目 . 它在表单导入失败
from jjj.forms import ResellerForm
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\ShapeR\PycharmProjects\djt\jjj\forms.py", line 4, in
class ResellerForm(forms.ModelForm):
File "C:\Python27\lib\site-packages\django\forms\models.py", line 214, in __new__
raise FieldError(message)
FieldError: Unknown field(s) (created_at, updated_at) specified for Reseller
2 回答
如果你的缩进符合上面的摘录,那么你可能需要properly nest
Meta
中的Meta
子类 . 否则,django会尝试做multi-table inheritance - 但这应该仍然适用于您尝试做的事情(除非您有非标准设置,例如django-nonrel) .什么代码触发此异常,只是导入模块?
http://docs.djangoproject.com/en/dev/ref/models/fields/#editable
也