我正在使用createview创建模型的几个字段。我想为表单中的属性提供自定义验证。我不确定如何通过CreateView做到这一点。我不想为此创建一个Modelform。
通常,属性的自定义验证是通过clean_attr()
方法以表格形式执行的。那么,有什么方法可以在createview中执行此操作吗?
我的createview类
@method_decorator(never_cache, name='dispatch')
class AppCreateView(LoginRequiredMixin, CreateView):
model = models.App
fields = ['name', 'background', 'font', 'textcolor']
def get_context_data(self, *args, **kwargs):
context = super(AppCreateView, self).get_context_data(*args, **kwargs)
context['view'] = 'create'
return context
在这些字段中,我不包括一个称为“日期”的字段(必须是今天)。有什么方法可以在CreateView中设置date属性?
谢谢
更新
我的问题
如何在AppCreateView中进行自定义验证?
如何填充用户填充的其他属性(例如日期)?
答案 0 :(得分:0)
如果要执行此操作,可以在模型上添加validators
,CreateView
会捕获https://docs.djangoproject.com/en/2.1/ref/validators/
对于日期,只需在您的字段中添加:
my_field = models.DateTimeField(auto_now=True) #the date will be timezone.now() when you save the instance.