特定のトランザクションにはインセンティブがあります。インセンティブに基づいて、0 個以上の必須フィールドがあります。フィールドの「名前」は、IncentiveRequiredField.name によって指定されます。この関係は、Transaction+RequiredField ごとに一意の値があるということです。
class Transaction(models.Model):
incentive = models.ForeignKey(Incentive)
class TransactionRequiredField(models.Model):
transaction=models.ForeignKey(Transaction)
incentiverequiredfield=models.ForeignKey(IncentiveRequiredField)
value=models.CharField(max_length=100)
class Incentive(models.Model):
name = models.CharField(max_length=100)
class IncentiveRequiredField(models.Model):
incentive = models.ForeignKey(Incentive)
name = models.CharField(max_length = 100)
モデルのこの部分は正しいと思いますが、確実ではありません。
新しいトランザクションを追加しようとすると問題が発生します。ユーザーがドロップダウンからインセンティブを選択した後、IncentiveRequiredField.name でラベル付けされた TextInputs のセットを表示できるようにする必要があります。これらの入力は、TransactionRequiredField モデルに関連付ける必要があります。
これを実現するには Javascript を使用する必要があることはわかっています。jQuery を介して AJAX 呼び出しを設定し、(incentive_id を指定して) トランザクションの RequiredFields のリストを取得することに慣れていますが、Django はまったく初めてです (そしてpython 一般的に)、Django Admin の [トランザクションの追加/変更] ビューにそれを追加する方法がわかりません。
誰かが私に説明できますか (私は 5 歳のようです)、どうすればこれを実行できますか?