擅长:python、mysql、java
<p>应该使用两个与<code>related_name</code>的多对多关系来分隔它们:</p>
<pre><code>class Bookmaker(models.Model):
name = models.CharField(max_length=50)
accepted_countries = models.ManyToManyField(Country, related_name="accepted_for")
restricted_countries = models.ManyToManyField(Country, related_name="restricted_for")
</code></pre>
<p>然后可以使用反向关系:</p>
<pre><code>bookmakers_for_which_county_is_accepted = Country.objects.values('accepted_for').distinct()
bookmakers_for_which_county_is_restricted = Country.objects.values('restricted_for').distinct()
</code></pre>
<p><a href="https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ManyToManyField.related_name" rel="nofollow noreferrer">docs</a></p>