簡體   English   中英

Django admin:編輯一對一模型類的字段

[英]Django admin: Edit fields of one-to-one model class

我有兩個模型,它們在models.py中定義了以下關系:

class InnerModel(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return self.name

class OuterModel(models.Model):
    inner = models.OneToOneField(InnerModel)

    def __str__(self):
        return "OuterModel"

我的forms.py看起來像這樣:

class OuterModelForm(forms.ModelForm)
    class Meta:
        model = OuterModel
        fields = ['inner']

我的admin.py表單如下所示:

class OuterModelAdmin(admin.ModelAdmin)
    form = OuterModelForm

admin.site.register(OuterModel, OuterModelAdmin)

當顯示管理頁面時,我可以看到InnerModel實例,並且存在name字段,但是name字段是一個空的下拉菜單,而不是可以編輯的空白文本字段。

如何更改InnerModel名稱字段,以便管理員可以對其進行編輯?

您需要使用內inlinesdoc ):

class InnerModelInline(admin.StackedInline):
    model = InnerModel

class OuterModelAdmin(admin.ModelAdmin):
    inlines = [InnerModelInline]

admin.site.register(OuterModel, OuterModelAdmin)

類似的問題: 在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM