擅长:python、mysql、java
<p>对我来说<code>Company</code>和{<cd2>}模型可能是相同的。既然大多数供应商都是公司对吗?如果它们基本上与合并<code>Company</code>和<code>Supplier</code>模型相同,则:</p>
<pre><code>class Company(models.Model):
name = models.CharFields(max_length=50)
is_supplier = models.BooleanField(default=False)
suppliers = models.ManyToManyField("self",
limit_choices_to={'is_supplier': True})
class Contact(models.Model):
name = models.CharFields(max_length=50)
company = models.ForeignKey(Company)
class Phone(models.Model):
number = models.CharFields(max_length=50)
contact = models.ForeignKey(Contact)
</code></pre>
<p>这是克里斯·德罗斯的“两桌”解决方案。如果您需要特定于供应商的字段,而不是添加供应商模型并使用OneToOne将其链接到公司:</p>
^{pr2}$