擅长:python、mysql、java
<p>例如,我们有这套模型。我从<a href="https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ManyToManyField.through_fields" rel="nofollow noreferrer">this django example</a>取的。在</p>
<pre><code>class Person(models.Model):
name = models.CharField(max_length=50)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(
Person,
through='Membership',
through_fields=('group', 'person'),
)
class Membership(models.Model):
group = models.ForeignKey(Group, on_delete=models.CASCADE)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
inviter = models.ForeignKey(
Person,
on_delete=models.CASCADE,
related_name="membership_invites",
)
invite_reason = models.CharField(max_length=64)
</code></pre>
<p>这个解决方案看起来有点难看,但可以根据您的需要进行优化。在</p>
^{pr2}$
<p><strong>输出</strong>:</p>
<pre><code>group <ManyToManyRel: m.group>
membership_invites <ManyToOneRel: m.membership>
id m.Person.id
name m.Person.name
</code></pre>
<p>如您所见,没有<code>membership</code>字段。在</p>