gpt4 book ai didi

python - 让 Django SplitDateTimeField 接受空时间字段的更好方法?

转载 作者:行者123 更新时间:2023-11-28 18:37:50 27 4
gpt4 key购买 nike

我喜欢要求 SplitDateField 的日期部分,但时间部分 - 如果留空 - 默认为某个值 ('00:00:00')。

到现在为止,我猴子将其修补到 Fields clean() 方法中。有更好的方法吗?一种更“像 Django”的方式?

现在看起来像这样(在 forms.py 中):

def mp_clean(self, value):
# time is in value[1] of a split-datetime field:
field_value = value[1]
if field_value in self.empty_values:
value[1] = '00:00:00'
return self.mp_original_clean(value)

class MyModelAdminForm(forms.ModelForm):

def __init__(self, *args, **kwargs):
super(MyModelAdminForm, self).__init__(*args, **kwargs)
that_field = self.fields['that_field']


if isinstance(that_field,forms.SplitDateTimeField):
that_field.mp_original_clean = that_field.clean
that_field.clean = types.MethodType(mp_clean, that_field)

最佳答案

您可以将拆分日期时间字段小部件子类化,覆盖 clean 方法,然后使用 widget模型表单上的属性以使用您的小部件。

关于python - 让 Django SplitDateTimeField 接受空时间字段的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30742055/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com