

Djangoで質問です  
以下２つのモデルがあり、PriceのdataidはPriceDataのidと紐づいています

[code]

    class Price(models.Model):
        id = models.AutoField(primary_key=True, verbose_name="ID")
        dataid = models.ForeignKey("PriceData",on_delete=models.CASCADE,verbose_name="詳細データID",)
        
    class PriceData(models.Model):
        id = models.AutoField(primary_key=True, verbose_name="ID")
    
[/code]

admin.pyで以下のようにPriceのInlineを作成しています。

[code]

    class PriceInline(admin.TabularInline):
        model = Price
        fields = ["id","name"]
    
        formfield_overrides = {
            django_models.TextField: {
                "widget": forms.Textarea(attrs={"rows": 3, "cols": 20})
            },
    
        }
    
        show_change_link = False
        can_delete = False
    
[/code]

上記Inlineをadmin.pyで以下のように読み込ませています

[code]

    class PriceDataModelAdmin(admin.ModelAdmin):
        inlines = [PriceInline]
    
[/code]

PriceInlineでPriceDataに紐づく件数分だけ「"id","name"」の入力欄を出したいのですがどのようにすればいいのでしょうか。  
また、既存データのidは選択不可(disabled)にして、追加ボタンを押して追加された入力欄のみ、idを選択可能にする方法はありますでしょうか。


CC BY-SA 4.0
2023-09-17T11:57:23.203
96241
2023-09-17T11:57:23.203
59819
question
django
Django Inlineでのプルダウンや入力欄の表示制御