Django Динамические вложенные наборы форм

У меня есть 3 модели Clinic, Doctor, DoctorHours. Я хочу создать динамическую форму, которая позволит мне создавать эти экземпляры в одной форме что-то вроде этого:

ClinicForm

--add_doctor_button

--DoctorForm

----add_doctor_hours_button

----DoctorHoursForm

----DoctorHoursForm

--DoctorForm

----add_doctor_hours_button

----DoctorHoursForm

----DoctorHoursForm

----DoctorHoursForm

Помогите пожалуйста

Это простой пример того, что можно сделать. Он не совсем вложенный. Но он обеспечивает большую часть функциональности, которую вы ищете.

# admin.py
from django.contrib import admin
from .models import Clinic, Doctor, DoctorHours


class DoctorHoursInline(admin.TabularInline):
    model = DoctorHours


@admin.register(Doctor)
class DoctorAdmin(admin.ModelAdmin):
    # stuff
    inlines = [DoctorHoursInline,]
    # more stuff


class DoctorInline(admin.TabularInline):
    model = Doctor

    # This will show a link to edit the Doctor model
    # in the Doctor table of the Clinic change form.
    show_change_link = True 


@admin.register(Clinic)
class ClinicAdmin(admin.ModelAdmin):
    # stuff
    inlines = [DoctorInline,]
    # more stuff

Вы, конечно, можете поменять местами формы для каждого из этих ModelAdmin и TabularInline классов.

Документы: https://docs.djangoproject.com/en/4.0/ref/contrib/admin/#inlinemodeladmin-objects

Вернуться на верх