2012-04-22 2 views
0

두 테이블 사이에 다 대다 관계가 있습니다. 한 테이블은 속성 유형을 보유하고 다른 테이블은 지역을 보유합니다. 간단하게하기 위해서 접합 테이블을 사용하여 양식에 다중 선택 옵션 생성 -> web2py

는의가 이런 식으로 뭔가가는 가정 해 봅시다 :

_property_ 
id 
name 
description 

_region_ 
id 
name 

_property-region_ 
id 
property.id 
region.id 

나는 새 속성을 작성하는 양식을 구축하려는, 그리고 나는이 양식은 사용자를 허용하는 다중 선택 옵션을 포함 할 속성을 사용할 수있는 지역을 지정하십시오.

실제로 접합 테이블을 만들지 않고 list:reference을 사용하여 다중 선택 양식을 만들 수 있다는 것을 알고 있지만, 데이터베이스 정상화.

답변

0

그것의 denoramalising? 각 지역은 많은 속성을 가질 수 있으며 관계는 지역별로 보유됩니다 ... 쿼리 수준에서 방금 속성의 ID를 보유하는 지역을 묻습니다 ... (어느 쪽이든, junction/through table)

관계에 대한 특정 정보가 있으면 해당 논리를 직접 처리해야합니다. 열심히, 속성 정보를 확인하는 두 개의 양식을 만들고 기록이 데이터베이스에 따라서 당신은 ID를 posess을 만들 수 없습니다. 그런 다음이 ID를 관계의 일부로, 선택한 모든 항목을 다른 것으로 추가하십시오.

+0

죄송합니다. 아마도 제 질문에 대해 잘 설명하지 않았을 것입니다. 제안 된 테이블 구조는 비정규 화 이후가 아닙니다. 내가 비정규 화를 언급했을 때, 그것은 web2py에서 list : reference를 사용할 때입니다. – leftcase

+0

그것의 비정규 화가 아닌가? 한 쪽만 참조를 보유하고 있습니다 ... 두 모델 모두에서 필드를 만들면 역 정규화됩니다. –

+0

Markek에 답해 주셔서 감사합니다. 어떤 목록인지 알고 있습니까? web2py에서 참조는 무엇입니까? 아마도 그것을 확인? – leftcase

관련 문제