也许我在这里遗漏了一些东西,但根据 django 文档,我应该能够覆盖从 clean() 方法中从管理表单发送的值。来自 django 文档
def clean(self):
from django.core.exceptions import ValidationError
# Don't allow draft entries to have a pub_date.
if self.status == 'draft' and self.pub_date is not None:
raise ValidationError('Draft entries may not have a publication date.')
# Set the pub_date for published items if it hasn't been set already.
if self.status == 'published' and self.pub_date is None:
self.pub_date = datetime.date.today()
我已经剥离了我的代码,只是在管理员内部尝试了一个基本示例
模型.py
class Test(models.Model):
name = models.CharField(max_length=255,)
def clean(self):
self.name = 'Robin Hood'
return self
因此,当我尝试添加新的测试记录时,如果我将名称字段留空,它应该从 clean 方法中获取值并保存。
但是会发生什么,表单没有验证,并且该字段保持为空。
我在这里错过了什么明显的东西吗?