Django Model M2M从同一模型到其他2个模型的关系



在我的问题中,我有一个User模型,其中用户(登录)可以来自"供应商"公司,也可以来自"客户"公司。

对于两组表:User-Customer和User-Supplier来说,这是一个M2M关系。

我可以这样链接它们吗?

company = models.ManyToManyField(Customer, Supplier, on_delete=models.PROTECT, related_name='Users')

输入图片描述

谢谢! !

你不能那样做。

一个更好的方法是,如果您使用SupplierCustomer类型的Company模型,您可以为此创建一个enum,因为您在两个模型中使用相同的字段,因此在单个模型中具有类型是很好的。

如何在TextChoices模型中创建enum

Company:
     name
     address
     contact name
     type

然后在你的User模型

company = models.ManyToManyField(Company, on_delete=models.PROTECT, related_name='Users')

这样更有意义。

相关内容

最新更新