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