在同一Django管理页面中添加与外键相关的实体

时间:2018-10-21 19:19:48

标签: python django foreign-keys django-admin

我正在开发一个Django应用程序,它将管理一些测验。这些测验由一个问题和一些可能的答案组成,我将其定义为不同的模型。

它们之间存在一个OneToMany关系,据我所知,应该在答案实体中使用外键建模。

但是,在管理来自Django管理站点的数据时,这非常不便,因为我必须先定义我的问题,然后再添加答案时查找问题以填充外键字段

是否可以在添加问题时以类似于多对多关系(带有+符号的方框等)的方式定义所有答案?

1 个答案:

答案 0 :(得分:2)

您可以为此使用InlineModelAdmin

在您的情况下,这可能类似于:

from django.contrib import admin

class AnswerInline(admin.StackedInline):
    model = Answer
    extra = 1  # If you have a fixed number number of answers, set it here.

class QuestionAdmin(admin.ModelAdmin):
    model = Question
    inlines = [
        AnswerInline,
    ]

# don't forget to register your model
admin.site.register(Question, QuestionAdmin)


希望能为您提供愉快的编码!