【发布时间】:2019-06-20 11:42:38
【问题描述】:
我正在为网站编写模型。当用户通过 Django admin 添加模型的实例时,我想捕获事件并自动生成文件,包括为那些创建的文件添加引用路径字段。
模型表单(用于管理站点)有一个可以被覆盖的clean 方法。我可以通过它创建和更新文件和字段。
def clean(self):
info = self.cleaned_data.get('info')
... #Generate IO paths from info
self.cleaned_data['template_path'] = template_path
self.instance.template_path = template_path
return self.cleaned_data
我需要区分add 和change 事件,因此我不会编写文件并更改路径帖子对象的创建。有没有办法在clean 中做到这一点,或者我应该在其他地方寻找创建字段和更新字段?
【问题讨论】:
-
以下是如何在自定义 save() 方法中区分新对象和现有对象:stackoverflow.com/a/35647389/8893667
标签: django python-3.x django-models django-admin