Python Django:I';在处理外键和外键模型中的多对多字段时,我一直使用管理寄存器

Python Django:I';在处理外键和外键模型中的多对多字段时,我一直使用管理寄存器,python,django,django-admin,Python,Django,Django Admin,我有一个模型锻炼,每天锻炼和锻炼 一项训练可以有多个训练日。一天的训练包括多个练习。每个练习可以添加到多个训练日。在workoutday和exercise之间,需要包含额外的字段(如amount_required) 我想在管理员视图中看到的是:管理员用户可以添加一个新的训练(带有一些字段),可以添加多个workoutdays,在一个workoutday中添加多个练习 我已经试着让Workoutday成为一个内嵌的管理员模型。这很有效,但我不能以这种方式包含练习 要使其更形象化,请执行以下操作:

我有一个模型锻炼,每天锻炼和锻炼

一项训练可以有多个训练日。一天的训练包括多个练习。每个练习可以添加到多个训练日。在workoutday和exercise之间,需要包含额外的字段(如amount_required)

我想在管理员视图中看到的是:管理员用户可以添加一个新的训练(带有一些字段),可以添加多个workoutdays,在一个workoutday中添加多个练习

我已经试着让Workoutday成为一个内嵌的管理员模型。这很有效,但我不能以这种方式包含练习

要使其更形象化,请执行以下操作:

训练1:

   Workoutday1:
               Exercise1 - amount_required: 10
               Exercise2 - amount_required: 50
   Workoutday2:
               Exercise1 - amount_required: 12
   Workoutday3:
               Exercise2 - amount_required: 20
               Exercise3 - amount_required: 20

有人能帮我一下吗?

Django不支持嵌套的内联管理(在InlineModelAdmin类上定义内联),这里。不过请看一下此应用程序:

您可以在不使用第三方应用程序的情况下尝试类似的内容:

@admin.register(WorkoutDay)
class WorkoutDayAdmin(admin):
    fieldsets = [
        ("Exercices", {"fields": ["exercises"], "classes": ["collapse"]}),
    ]

通常,它应该允许您选择和创建多个
练习
(假设该字段名为
练习

您正在寻找类似的内容吗

class ExercisesInline(admin.TabularInline):
    model = Exercise

class WorkoutAdmin(admin.ModelAdmin):
    list_display = ['id',. .... "your fields" ]
    list_filter = ["list of filters"]
    inlines = [ExercisesInline]

 admin.site.register(Workout, WorkoutAdmin)

抱歉,重新阅读您的问题后,这对嵌套问题没有帮助。