dynamic models에서 생성 된 두 개 이상의 테이블 (django-tables2에 의해 생성됨)을 병합 할 수있는 가능성이 있습니다.django-tables2와 동적 모델의 병합 테이블
은 내가 먼저 내 문제에 대해 설명하자
을 나는이 동적으로 생성 된 모델에 대한 다음과 같은 필드 :
동적 처리가 중복 모델을 정의하지 않고 내 테이블, structered 저장하기 위해 나에게 가능성을 제공...
fields = {
'colA': models.IntegerField(),
'colB': models.IntegerField(),
'colC': models.IntegerField(),
'colD': models.IntegerField(),
}
...
수업. 데이터베이스에 저장된 테이블에서 파생 된 모델
예 :
myDynamicModelA = DataModels().create_model('myDynamicModelA_tablename')
myDynamicModelB = DataModels().create_model('myDynamicModelB_tablename')
myDynamicModelC = DataModels().create_model('myDynamicModelC_tablename')
myDynamicModelD = DataModels().create_model('myDynamicModelD_tablename')
....
은 '_tablename'일반적으로 모든 테이블에 의해 공유됩니다. 다른 점은 접두사 'myDynamicModel A, B, C ...'입니다.
이것은 모델 부분입니다. 나는이 같은 장고 - 테이블 2 클래스를 정의 할 수 있도록,
각 모델/테이블 주 일부 열/필드 :
그에 따르면 나를 장고 - 테이블 2을 사용하여 테이블 구조를 설명하자 :
class Table_B(Table_A):
colC = tables.Column()
colD = tables.Column()
def __init__(self, *args, **kwargs):
self.colname = kwargs['colname']
kwargs.pop('colname')
super(Table_B, self).__init__(*args, **kwargs)
for col in self.base_columns:
if col not in ['colA', 'colB']:
self.base_columns[col].verbose_name = '%s_%s' % (self.colname, col)
,745 : 다른
class Table_A(tables.Table):
colA = tables.Column()
colB = tables.Column()
필드는 단순히 상속을 사용하여 처리 될 수있다
생성자는 모델마다 다른 필드에 다른 column-name-prefix를 제공합니다. , 콜라, COLB, myDynamicModelA_tablename_colC에 대한
표를 myDynamicModelA_tablename_colD :
열을 'myDynamicModelA_tablename'에 대한
테이블 :
는 이제 다른 모델 예에서 테이블을 생성 할 수 있습니다 'myGenericModelB_tablename':
columns : colA, colB, myDynamicModelB_ta blename_colC, myDynamicModelB_tablename_colD
...
지금 내 질문 : 내가 그런 일받을 수 있도록 두 테이블을 병합 할 수 있습니다 :콜라, COLB, myDynamicModelA_tablename_colC, myDynamicModelB_tablename_colC, myDynamicModelA_tablename_colD이 표시됩니다
값을 myDynamicModelB_tablename_colD을해야 테이블 간 교차 결과 (이는 기본 키으로 해석 될 수있는 colA의 공통 값 때문에 가능합니다)
페이지 정렬을 제공 할뿐만 아니라 정렬 옵션을 제공하기 때문에 결과는 django-tables2 개체입니다.
내 설명을 이해할 수 있었으면 좋겠다.
많은 시간과 도움에 감사드립니다.