0
在模型中我有整数字段。此字段的值的含义是“自1970年1月1日以来的天数”,因此我想在管理界面中使用AdminDateWidget
作为日期显示它,以便更容易地选择日期。用Django自定义值的自定义小部件admin
我唯一的想法是创建新的窗口小部件,以整数转换成日期:
class ExpireWidget(AdminDateWidget):
def render(self, name, value, attrs=None):
if isinstance(value, (int, long)):
value = datetime.date(1970, 1, 1) + datetime.timedelta(value)
return super(ExpireWidget, self).render(name, value, attrs)
而下面的代码在admin.py
:
class LdapUserAdminForm(forms.ModelForm):
class Meta:
widgets = {
'shadow_expire': ExpireWidget
}
当我在管理员日期显示它一切正常,但在保存之前,我应该将日期转换为整数。我认为我可以使用clean_field_name
函数来实现它,但是在clean_field_name
(它是clean()
?)之前执行了一些验证,并且我得到了应输入整数值的错误。
如何在验证前将日期转换为int?