2011-11-08 5 views
1

나는 다음과 장고 모델이 있습니다장고 ManyToManyField 관계

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

이 M2M 관계가 'opetest_set'등의 사용자 개체로 볼 수 있습니다. django admin 'User edit page'에서이 m2m 관계를 편집하는 방법은 무엇입니까?

답변

1

장고 관리에서 m2m을 편집하려면 InlineModelAdmin을 사용하십시오. 자신을 사용하기 위해서는 UserAdmin이 같은 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 필드 전용 :

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

User 인스턴스에서 접근 opetest하려면 opetest 모델에서는 확장되지만 User 모델은 확장하지 않습니다. 그러면 사용자 모델을 통해이 m2m 관계에 어떻게 액세스 할 수 있습니까? – baobee

+0

@baobee 답변 됨. django.contrib.auth.models에서 – DrTyrsa

+0

이 >>> 사용자 >>> A = 사용자 >>> a.opetests.all() 역 추적 (마지막으로 가장 최근 통화)를 가져옵니다 파일 "", 라인 1, in AttributeError : 'ManyRelatedObjectsDescriptor'객체에 'all'속성이 없습니다. 작동하지 않습니다. – baobee