2011-07-04 4 views
2

나는 추적 이벤트에 대한 매우 간단한 모델이 있습니다장고 한 형태/두 모델

class Event(models.Model): 

    description = models.TextField() 
    location = models.ForeignKey(Location)  
    start = models.TimeField() 
    duration = models.IntegerField() 
    event_date = models.DateField() 
    creator = models.ForeignKey(User) 

을 나는 쿼리를 수행 할 수 있도록하기 위해 별도의 테이블에 위치를 추출하기 위해 선택했다 :

class Location(models.Model): 

    city = models.CharField(max_length=20) 
    address = models.CharField(max_length=30). 

이벤트를 삽입/업데이트하기위한 양식을 만드는 가장 좋은 방법은 위치를 개별적으로 수행해야하며 이벤트 인스턴스의 ID를 통해 연결해야한다는 점을 고려해야합니다. 위치 주소와 도시에 대해 자동 완성 필드를 사용하고 싶었지만 단순화를 위해 같은 형식으로 유지하려고 했습니까?

답변

-1

ForeignKey에 대해 생성 된 ModelFormModelChoiceField에 대한 자신의 위젯을 정의하십시오.

+0

아마 내가 잘 설명하지 못했습니다. 새 위치를 하나의 양식에 삽입 한 다음 드롭 다운 메뉴에서 수동으로 이전에 정의 된 위치를 선택하여 새 이벤트를 두 번째 양식에 삽입 할 수 있습니다. 내가 한 단계에서, 어쩌면 두 개의 연결된 양식과 리디렉션을 통해 선택 또는 생성 된 위치의 PK를 유지하는 방법을 궁금해하고 있었습니까? – freethrow

+0

일단 'Location'을 저장하면 유효화 된'Event'에 PK를 추가하고 그 모델을 저장할 수 있습니다. –