django管理的内联表单递归嵌套
django-nested-inline-springboard的Python项目详细描述
对django admin的嵌套内联支持
这个包中的大部分代码来自[https://code.djangoproject.com/ticket/9025](https://code.djangoproject.com/ticket/9025)
Github
[https://github.com/s-block/django-nested-inline](https://github.com/s-block/django-nested-inline)
安装
pip安装django嵌套内联
用法
将嵌套的应用程序添加到已安装的应用程序中
models.py
from django.db import models
- class TopLevel(models.Model):
- name = models.CharField(max_length=200)
- class LevelOne(models.Model):
- name = models.CharField(max_length=200) level = models.ForeignKey(‘TopLevel’)
- class LevelTwo(models.Model):
- name = models.CharField(max_length=200) level = models.ForeignKey(‘LevelOne’)
- class LevelThree(models.Model):
- name = models.CharField(max_length=200) level = models.ForeignKey(‘LevelTwo’)
管理.py
from django.contrib import admin from nested_inline.admin import NestedStackedInline, NestedModelAdmin from example.models import *
- class LevelThreeInline(NestedStackedInline):
- model = LevelThree extra = 1 fk_name = ‘level’
- class LevelTwoInline(NestedStackedInline):
- model = LevelTwo extra = 1 fk_name = ‘level’ inlines = [LevelThreeInline]
- class LevelOneInline(NestedStackedInline):
- model = LevelOne extra = 1 fk_name = ‘level’ inlines = [LevelTwoInline]
- class TopLevelAdmin(NestedModelAdmin):
- model = TopLevel inlines = [LevelOneInline]
admin.site.register(TopLevel, TopLevelAdmin)