ネット上で同じものを検索し、多くの回答が得られました。djangoのドロップダウンボックスがデータベーステーブルの列から取り込まれる
表:
- レポート:reportType(ReportCategoryから外部キー)、名前、説明
- レポートカテゴリー:名前、説明
forms.py
class ReportForm_insert(forms.ModelForm):
class Meta:
model=Report
invent = ReportCategory.objects.all()
print invent
reportType_id = forms.ModelMultipleChoiceField(queryset = invent)
fields =('name','description',)
model.py
ReportCategoryテーブルの 「名前」列の値を使用したレポートの種類]ドロップダウンボックスを移入、まず:
class ReportCategory(models.Model):
name = models.CharField(max_length=20)
description = models.CharField(max_length=20)
def __unicode__(self):
return self.name
class Report(models.Model):
reportType = models.ForeignKey(ReportCategory)
name = models.CharField(max_length=200)
description = models.CharField(max_length=300)
def __unicode__(self):
return self.name
は今、メタクラスの中、私は二つのことをやろうとしています。 第2に、フォーム内の他のすべてのフィールドにユーザー が入力され、ボタンが押された場合、フィールド内のデータは ReportCategoryテーブルの の外部キー制約に留意してReportテーブルに保存されます。 。
これは、ドロップダウンボックスとテキストボックスの形式で答えを表示するので、私は考えません。また、ReportCategoryテーブルの「名前」列からドロップダウンボックスを作成する必要があります – Compuser7
モデルフォームのForeignKeysは、デフォルトで
これはあなたのスキーマ/記述が間違っているかもしれないとあなたが求めているものでなければ。私はユーザーがフォームを使ってレポートオブジェクトを作成するときにそれを読んでいます。利用可能なオプションのリストからレポートタイプを選択する必要があります。これらのオプションは、ReportCategoryテーブルによって提供され、名前フィールドによって表されるユーザーへの視覚的表現を持ちます。 – John