Kayのformでmodelからセレクトボックスを作る

Kayのformでmodelをもとにセレクトボックスを作る方法。


■セレクトボックスの元になるmodelのクラスをMasterListとします。
?formの中でModelFieldを定義します。

model_list = forms.ModelField(model=MasterList)


このままだと、表示されるHTMLのセレクトボックスには人には分りづらい文字列になるので、
?MasterListクラスに__unicode__メソッドを追加します。

class MasterList(db.Model):
  master_list_id = db.IntegerProperty()
  display_name = db.StringProperty()

  def __unicode__(self):
    return self.display_name

こうしておけば、セレクトボックスにはMasterListクラスのdisplay_nameの値が表示されます。