我有一个模型,我希望将其实例限制为特定的Wagtail Site
,因此我想使用该模型自动保存网站。在定义特定于站点的模型时,我已经定义了一个TenantAwareModel
来继承:
class TenantAwareModel(models.Model):
class Meta:
abstract = True
tenant = models.ForeignKey(Site, on_delete=models.CASCADE)
Wagtail将site
作为request
的一部分提供,因此在wagtail_hooks.py
文件中,我想以与常规文件相同的方式覆盖save_model
Django管理员。但是,我发现Wagtail的save_model
上没有ModelAdmin
方法。为了在模型中插入从请求对象(在本例中为站点)获取的值,是否可以在Wagtail管理员中拦截保存操作?我认为我无法使用pre_save
信号,因为request
中没有pre_save()
。
答案 0 :(得分:0)
正在寻找答案,并找到了这篇文章。我试图拦截电子邮件生成django应用程序上的save方法,但是还发现这根本行不通。
在Wagtail ModelAdmin实施中,似乎只有简单的表单验证和数据保存...
这是该课程中的所有选项...
这表明可以编写自己的视图来进行创建和编辑,但是如果您必须重写所有业务逻辑并将其放入自定义视图中以获取任何内容,则可以否定“ django模型的简单注册”概念。除了基本的CRUD功能。