2013-08-17 4 views
3

저는 새로운 프로젝트를 진행하고 있습니다. 다른 변수에 따라 변수 번호가 EmailField 인 장고 모델을 만들고 싶습니다. 내가 만들고자하는 것은 하우스 모델 (하우스 모델)입니다. 하우스 모델에는 하우스의 모든 구성원 (특히 이메일 주소)이 있습니다. 모든 주택이 같은 크기가 아니라는 것을 보는 일부는 다른 주택보다 더 많은 구성원을 보유하게됩니다.가변 개수의 필드가있는 장고 모델

사용자가 집에 회원 수를 입력하고 django가 모델에 따라 EmailField의 번호를 생성하도록합니다. 이 작업을 수행하는 쉬운 방법이 있습니까? 감사.

답변

9

Django의 모델 필드가 데이터베이스의 테이블 필드에 직접 연결되어 있기 때문에 다양한 필드 수를 사용할 수 없습니다.

class House(models.Model): 
    # normal house fields go here 

class EmailAddress(models.Model): 
    email = models.EmailField() 
    house = models.ForeignKey(House, related_name='email_addresses') 

지금 사용하여 집에 관련된 모든 이메일에 액세스 할 수 있습니다 :

house = House.objects.get(pk=1) 
house.email_addresses.all() 

ForeignKeydocumentation이 유용 할 수 있습니다 대신, 외래 키와 다른 테이블이있다.

2

아니요. 전자 메일을 별도 모델에 넣고 ForeignKey가있는 하우스에 다시 연결하십시오.