擅长:python、mysql、java
<p>原则上,您可以执行以下操作:</p>
<pre><code>class Role(models.Model):
......
class Ninja(Role):
.......
class Person(models.Model):
roles = models.ManyToManyField(Role)
</code></pre>
<p>但是你遇到了一个问题人.角色.对象.all()只能提供角色的实例。因此,您需要一个方法将角色的每个实例强制转换为一个合适的子类,如Ninja或Pirate。这里有一个链接指向一个讨论这个问题的线程。在</p>
<p><a href="http://groups.google.com/group/django-users/browse_thread/thread/f4241bc16455f92d/7268c3f7bca6b046" rel="nofollow noreferrer">http://groups.google.com/group/django-users/browse_thread/thread/f4241bc16455f92d/7268c3f7bca6b046</a></p>
<p>总之,亚历克斯和斯特凡诺给出了比我更有用的答案。在</p>