两种不同Django模型的外键



对于我的CRM,我正在尝试创建一个历史模型,它应该存储对特定票证(也称为客户请求(所做的每一项更改或操作。在这个场景中,涉及到两种类型的用户:资源和客户。

由于两者都可以执行应存储在历史记录表中的操作(例如,客户可以打开票证,资源可以关闭它(我想知道作为外键(actor(,实现这一点的正确方法是什么

class TicketHistory(models.Model):
ticket = models.ForeignKey("Tickets", on_delete=models.PROTECT, related_name="ticket")
action = models.ForeignKey("HistoryActions", on_delete=models.PROTECT, related_name="action")
resourceActor = models.ForeignKey("Resources", ...)
customerActor = models.ForeignKey("CustomerUsers" ...)
date = models.DateTimeField(auto_now_add=True)

正如你所看到的,我最初决定创建两个不同的字段,但我认为这不是最好的解决方案。你会怎么做?

我只想使用:https://django-simple-history.readthedocs.io/en/latest/

简单应用程序-跟踪应用程序/型号上的所有更改

您可以使用此处回答的管理站点模型日志,也可以使用django-simple-history。最后一个使相同的管理站点历史记录。选择你喜欢的。

最新更新