2017-03-22 1 views
0

나는 table_a, table_a_b 및 table_b 세 개의 테이블을 포함하고 있습니다.장고에서 수동으로 중간 테이블 만들기

table_a id | 이름

table_b id | 제품

table_a_b id | a_id | b_id

나는이 테이블을 수동으로 생성하고 csv를 통해 DB에 데이터를 수집했습니다. (

1) 나의 접근 방식 : 내 모델 파일은 내가 특정 객체 A.에서 모든 객체 B에

두 질문에 액세스 할 수 없습니다, 내가 여기에 큰 문제가이

class A(models.Model): 
    name = models.TextField(null=True) 

class Meta: 
    db_table = 'As' 

class B(models.Model): 
    name = models.TextField(null=True) 

class Meta: 
    db_table = 'Bs' 

class AB(models.Model): 
    a = models.ForeignKey(A) 
    b = models.ForeignKey(B) 

class Meta: 
    db_table = 'AsBs' 

처럼 보인다 수동으로 중간 테이블 생성?) 좋다?

2) 접근 방법에 따라 B of A의 모든 객체를 가져 오는 방법이 있습니까?

+0

을 설명 here은'B'는'를 통해 객체 M2M 필드에 대한 해당 설명서를 방문 할 수 있습니다 a.ab_set.filter()' –

+0

같은 오류가 발생하고 객체에 속성이 없습니다. ab_set –

+0

Nope. 방금 현지에서 확인했습니다. 'a_obj = A (name = 'test'); a_obj.save(); a_obj.ab.set.all()' –

답변

0

여기 M2M 관계가 있으므로 django는 원하는 모든 작업을 수행 할 수있는 훌륭한 API를 제공합니다.

당신은 세부 사항 당신은 모든 액세스 할 수있는 중간 모델로 M2M을 구축하는 방법 (테이블)

여기 M2M through 문서

관련 문제