2011-07-04 3 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

多分私はよく説明しませんでした。新しい場所を1つのフォームに挿入してから、新しいイベントを2番目のフォームに挿入し、ドロップダウンメニューから前もって定義した場所を手動で選択します。私は1つのステップでこれを行う方法を考えていました。おそらく、2つの接続されたフォームとリダイレクトによって、選択または作成された場所のPKを維持していましたか? – freethrow

+0

'Location'を保存したら、そのPKを検証された' Event'に追加し、そのモデルを保存することができます。 –

関連する問題