【发布时间】:2018-12-13 00:27:50
【问题描述】:
我在 wagtail 应用程序中有一个非页面模型,我想为其创建历史记录,例如 my_object 和 my_object_history,在管理员中创建、编辑或删除任何新的 @ 987654326@ 模型是使用创建的管理员用户、时间等创建的。
class MyObjectHistory(models.Model):
created_by = models.ForeignKey(User, on_delete=models.DO_NOTHING, editable=False,null=True,blank=True)
save_date = models.DateTimeField(auto_now=True)
my_object = models.ForeignKey(MyObject, on_delete=models.CASCADE)
notes = models.TextField(blank=True, null=True)
然后在某个地方,理想情况下,在 save... 事件上,我会实例化这个对象并保存它。
我不清楚在哪里可以覆盖 wagtail 管理员并让请求用户分配和保存。
django ModelAdmin 有一个 save_model,但看起来 wagtail 没有类似的东西。
我开始重写EditView/CreateViewpath,但似乎EditView实际上没有save方法。
模型本身有一个我可以使用的save 方法,但没有引用request.user,所以我需要在某个地方找到它。
谁能指出我正确的方向?
【问题讨论】:
标签: wagtail