テーブル内のオブジェクトのタイトルを含むドロップダウンをフォームに表示するにはどうすればよいですか? Django ModelForm

2020-03-30 django django-models django-forms django-views

こんにちは私はワークフローまたはバイナリプロトコル用のシンプルなアプリを作成しようとしています(はいまたは説明なし、時には非常に役立ちます) フォームのドロップダウンは次のようになります

ModelFormを使用して簡単なフォームを作成しました。

class BlocForm(forms.ModelForm):
    class Meta:
    model  = Bloc
    fields = [
        'description',
        'loop_child'
        ]

そして私のモデルは次のようになります:

class Loopeable(models.Model):
     protocol    = models.ForeignKey(Protocol, on_delete=models.CASCADE, null=True)
     description = models.TextField()
     pointing_at = models.IntegerField()

class Bloc(models.Model):
     description = models.TextField()
     protocol    = models.ForeignKey(Protocol, on_delete=models.CASCADE)
     parent      = models.ForeignKey('self',on_delete=models.CASCADE, null=True, blank=True)
     loop_child  = models.ForeignKey(Loopeable, on_delete=models.CASCADE, null=True, blank=True)
     question    = models.BooleanField(default=False)
     end_bloc    = models.BooleanField(default=False)

そして、私の問題は、この醜いオブジェクトのloop_chileドロップダウンリストを使用する代わりに、ループ可能モデルで説明を取得したいのですが、「Loopeable Object(id_number)」だけではないデータを取得する方法があるということです。投稿を短くするためにviews.pyを追加しませんでしたが、次のようなことを単に実行してforを実装しました。

form = BlocForm(request.POST or None)
      if form.is_valid(): ...rest of the code

誰かがアイデアを持っているなら私は感謝します!!ありがとう...

Answers

Related