2011-11-08 88 views
1

我有以下的Django模型:Django的ManyToManyField关系

class opetest(models.Model): 
    name = models.CharField(max_length=200) 
    people = models.ManyToManyField(User, blank=True) 

这M2M关系可用用户对象为 'opetest_set' 上。 如何在django admin'用户编辑页面'中编辑此m2m关系?

回答

1

编辑Django中的m2m admin使用InlineModelAdmin。为了使用自己的UserAdmin你应该注销User第一,像这样:

admin.site.unregister(User) 
admin.site.register(User, UserAdmin) 

为了opetest访问从User例如:

class opetest(models.Model): 
    name = models.CharField(max_length=200) 
    people = models.ManyToManyField(User, blank=True, related_name='opetests') 

然后user.opetests.all()

+0

我已经声明M2M领域唯一在opetest模型中,但不能扩展User模型。那么,如何通过用户模型访问此m2m关系? – baobee

+0

@baobee已回答。 – DrTyrsa

+0

>>>从django.contrib.auth.models导入用户 >>> A =用户 >>> a.opetests.all() 回溯(最近最后一次通话): 文件 “”,1号线,在 AttributeError:'ManyRelatedObjectsDescriptor'对象没有属性'all' 这是行不通的。 – baobee