2011-07-04 69 views
2

我有跟蹤事件一個非常簡單的模型:Django的一種形式/兩款車型

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生成的ModelForm中的ModelChoiceField定義您自己的小部件。

+0

也許我沒有解釋清楚。我可以在一個表單中插入新位置,然後在第二個表單中插入新事件,從下拉菜單中手動選擇預先定義的位置。我想知道如何做到這一步,也許有兩個連接的形式和重定向,維護所選或創建的位置的PK? – freethrow

+0

一旦你保存了'Location',你可以將它的PK添加到已驗證的'Event'並保存該模型。 –