2011-03-13 4 views
0

사용자 역할을 데이터베이스의 테이블에 입력하려면 응용 프로그램에서 작업하고 있습니다. 나는 여전히도 가능합니다 궁금이 내 머리를 긁적 해요models.ManyToManyField (Foo, Bar)에서 데이터를 지정하는 방법

{|id|Foo_id|Bar_id|Role_id|} 

:

class Role(models.Model): 
name = models.CharField(max_length = 40) 
details = models.TextField() 

class Foo(models.Model): 
name = models.CharField(max_length = 40) 
details = models.TextField() 

class Bar(models.Model): 
name = models.CharField(max_length = 40) 
detauls = models.TextField() 
foos = models.ManyToMany(Foo,related_name="foo_binding_and_roles") 

나는 테이블 foo_binding_and_roles의 스키마를 닮은합니다. 내가 커스터마이징 매니저를 써서 풀어 낼 수는 있지만 그것을 피하고 싶다.

bar가 foo와 foo가 bar를 만났을 때 관계 기반으로 사용자에게 권한을 할당하는 것이 좋습니다.

답변

1

나는 당신이 일을하려고하지만,이 라인을 읽고 정확히 이해하지 않는다 : {|id|Foo_id|Bar_id|Role_id|}

날 당신이 그 필드 모델을 정의하거나 여분 필드와 through model을 설정할 수 있습니다 중 하나를 생각하게한다.

0

이것을 단순화하기 위해 더 명확하게 생각하고, 다 대다 연관을 사용하지 않으며, 다 대 일 연결을 사용하여 전체 구성표를 작성하십시오. 내가 너를 올바르게 이해했다면, 네가 찾고있는 것이 3 자 회합 수업을 사용하는 것이 가능하다고 생각한다.

관련 문제