やりたいこと
- 3つのIntegerFieldを持つModelを作ります。
- 入力formはセレクトボックスにします。
- 上のセレクトの選択によって下のセレクトの項目が動的に変わるようにしたい。
- 1つ目のセレクトで「哺乳類」を選択したら2つ目の選択肢は「ネコ科」「イヌ科」になる。
2つ目のセレクトで「イヌ科」を選択したら3つ目の選択肢は「柴犬」「秋田犬」になる。
- データベースの内容を表示するときにIntegerの値を文字列に変換したい。
- modelで選択肢を作るのではなく、choices等であらかじめ値を決めてしまいたいのが希望です。
ただ、熟練者の立場でmodelでやってしまったほうが良いということであれば従います。
以上の条件をクリアするにはどうすれば良いでしょうか?
python
1# Rootカテゴリ 2ROOT_CHOICES = ( 3 (1, "哺乳類"), 4 (2, "両生類"), 5) 6# Parentカテゴリ 7MAMMALIAN_CHOICES = ( 8 (1, "ネコ科"), 9 (2, "イヌ科"), 10) 11ANPHIBIAN_CHOICES = ( 12 (3, "トカゲ科"), 13 (4, "ヘビ科"), 14) 15# Childカテゴリ 16CAT_CHOICES = ( 17 (1, "シャム"), 18 (2, "ペルシャ"), 19) 20DOG_CHOICES = ( 21 (3, "柴犬"), 22 (4, "秋田犬"), 23) 24LIZARD_CHOICES = ( 25 (5, "イグアナ"), 26 (6, "ヤモリ"), 27) 28SNAKE_CHOICES = ( 29 (7, "ニシキヘビ"), 30 (8, "マムシ"), 31) 32 33 34class Animal(models.Model): 35 root_category = models.IntegerField('root_category', choices=ROOT_CHOICES) 36 parent_category = models.IntegerField('parent_category') 37 child_category = models.IntegerField('child_category')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。