是否在Django中的clean方法之前处理了预保存的信号?

时间:2019-06-02 22:20:10

标签: django django-forms django-signals

我找不到对此的引用。老实说,这个问题是不言而喻的。在Django表单(例如管理表单)中,保存之前会自动调用clean方法。我的问题是,如果我有一个方法作为预保存信号,哪个将首先执行?

1 个答案:

答案 0 :(得分:1)

根据django文档:“这是在模型的save()方法的开头发送的。”您可以在这里找到:https://docs.djangoproject.com/en/2.2/ref/signals/#pre-savehttps://docs.djangoproject.com/en/2.2/topics/signals/#connecting-to-signals-sent-by-specific-senders

clean方法用作验证,这意味着它始终在save方法之前运行,您可以在此处找到有关此信息的更多信息:https://docs.djangoproject.com/en/2.2/ref/forms/validation/#form-and-field-validation

您还可以在Django管理代码上验证此:https://github.com/django/django/blob/master/django/contrib/admin/options.py#L1545