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?