Django 模型 M2M 与同一模型中的其他 2 个模型的关系
Django Model M2M Relationship to 2 other models from the same model
在我的问题中,我有一个用户模型,其中用户(登录名)可以来自“供应商”公司或来自“客户”公司。
这两组表都是 M2M 关系:User-Customer 和 User-Supplier。
我可以link他们这样吗:
company = models.ManyToManyField(Customer, Supplier, on_delete=models.PROTECT, related_name='Users')
enter image description here
谢谢!!
你不能那样做。
更好的方法是,如果您使用类型为 Supplier
和 Customer
的 Company
模型,您可以为此创建一个枚举,因为您在你的两个模型,所以最好在一个模型中有一个类型。
How to make enum in model with TextChoices
Company:
name
address
contact name
type
然后在您的 User
模型中
company = models.ManyToManyField(Company, on_delete=models.PROTECT, related_name='Users')
这样更有意义。
在我的问题中,我有一个用户模型,其中用户(登录名)可以来自“供应商”公司或来自“客户”公司。
这两组表都是 M2M 关系:User-Customer 和 User-Supplier。
我可以link他们这样吗:
company = models.ManyToManyField(Customer, Supplier, on_delete=models.PROTECT, related_name='Users')
enter image description here
谢谢!!
你不能那样做。
更好的方法是,如果您使用类型为 Supplier
和 Customer
的 Company
模型,您可以为此创建一个枚举,因为您在你的两个模型,所以最好在一个模型中有一个类型。
How to make enum in model with TextChoices
Company:
name
address
contact name
type
然后在您的 User
模型中
company = models.ManyToManyField(Company, on_delete=models.PROTECT, related_name='Users')
这样更有意义。