質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Q&A

0回答

1470閲覧

ModelFormのfieldsに対してprefixを使う方法はありますか?

am120sec

総合スコア14

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

0グッド

0クリップ

投稿2018/12/22 15:10

編集2018/12/22 15:17

やりたいこと

フォーム画面でタグを選択するとき、カテゴリ別にタグの表示を分けたいです。

例えば以下のコードのようにすると、"料理"というカテゴリの絞り込みしかできません。

Categoryには

  • 料理
  • スポーツ
  • エンタメ
  • 科学

などがあるとして、それぞれでフォームを作成するとするとどの様な方法があるでしょうか?
モデル側の変更はしないものとして、formで解決したいです。

Django

1class Category(models.Model): 2 name = models.CharField(max_length=20, unique=True) 3 4 5class Tag(models.Model): 6 name = models.CharField(max_length=20, unique=True) 7 category = models.ForeignKey(Category, on_delete=models.CASCADE) 8 9 10class Item(models.Model): 11 title = models.CharField(max_length=40, unique=True) 12 tag = models.ManyToManyField(FreeTag, blank=True) 13 14 15class ItemCreateForm(forms.ModelForm): 16 17 class Meta: 18 model = Item 19 fields = ('title', 'tag') 20 21 def __init__(self, *args, **kwargs): 22 super(ItemCreateForm, self).__init__(*args, **kwargs) 23 self.fields['tag'].queryset = Category.objects.filter(name="料理") 24

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gh640

2018/12/24 06:33

「fieldsに対してprefixを使う」「カテゴリ別にタグの表示を分けたい」というのは、もう少し具体的にいうとどのようなことですか? `<optgroup>` でセレクトボックスの選択肢を分けたい、ということですか? 生成したいフォームの HTML のサンプル等を具体的にご提示されると、回答がもらえやすくなると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問