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

pit*_*zzo 3 python django foreign-keys django-admin

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

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

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

在添加问题的同时定义所有答案是否有可能,就像是多对多关系(带有 + 符号的框等)一样?

joj*_*ojo 5

您可以为此使用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)
Run Code Online (Sandbox Code Playgroud)


     希望有帮助和快乐编码!