我想創造我的模型Account
時間戳,但我不希望我的兩個時間戳(created_at
和modified_at
)指定爲可編輯或甚至用戶可查看。一切工作正常,並按預期,直到我editable=False
created_at
和modified_at
字段。這裏是我的模型:FieldError:未知領域(S)(created_at,modified_at)的帳戶
class Account(models.Model):
account_name = models.CharField(max_length=25)
active = models.BooleanField(default=True)
created_at = models.DateTimeField(null=True, blank=True, editable=False)
modified_at = models.DateTimeField(null=True, blank=True, editable=False)
def save(self):
if self.id:
self.modified_at = datetime.datetime.now()
else:
self.created_at = datetime.datetime.now()
super(Account, self).save()
class Meta:
ordering = ('id',)
這裏是令人費解的錯誤我收到的時候我嘗試做任何事情(遷移的runserver等):
django.core.exception.FieldError: Unknown field(s) (created_at, modified_at) specified for Account
當我從兩個刪除editable=False
領域,一切工作正常。這是一個Django的錯誤?有沒有更好的方法使該字段不可見並且不可編輯?
我使用的是Django 1.9和Python 3.6.1。感謝您的幫助,讓我知道您是否需要我發佈其他任何內容(視圖,序列化器等)。
編輯
完全回溯:https://pastebin.com/YEQACX5z
賬戶形式:
class AccountForm(ModelForm):
class Meta:
model = Account
fields = ['account_name', 'active', 'created_at', 'modified_at']
請顯示完整的回溯。 – Alasdair
增加了完整的追溯。 – Logicman
回溯顯示錯誤發生在您的'AccountForm'中,您沒有顯示。 – Alasdair