我尝试使用 django 构建的应用程序模型的一部分基于三层结构,如下所示:
class A(models.Model):
name = models.TextField()
class B(models.Model):
related_A = models.ForeignKey(A)
info = models.TextField()
class C(models.Model):
related_B = models.ForeignKey(B)
other_infos = models.TextField()
所以A是由一些B组成的,而B又是由一些C组成的。由于 Django admin 还不接受嵌套的内联表单,我认为理想的方法是使用这种工作流程:会有一个“管理页面”,它会给我一个点击链接,称为“添加这个 A" 的一些 Bs,并使用内联 C 表单为我提供一个带有 B 表单的页面。
有没有办法简单地从我没有看到的管理员网站上做到这一点,或者我应该考虑扩展管理员默认应用程序?
一些澄清
假设您对大陆、国家和地区进行统计。我的目标是有一个清晰的结构,将一个国家添加到一个大陆,将一个地区添加到一个国家。理想情况下,管理界面的用户不能“立即”添加 Country ;她或他需要浏览一个必须选择大陆的页面。理想情况下,大陆只有一个页面,包含一个内联形式的国家,每个表格都有一个内联形式的地区。
由于嵌套的内联表单似乎不是 Django 1.3 中的一个功能,我正在寻找一种在管理站点中具有某种“工作流程”的方法:用户将首先在第一个屏幕中单击“大陆”;然后它会显示一个大陆列表;点击一个大陆将显示与该大陆相关的国家列表;最后,用户可以编辑 Country 表单,显示一些内联区域表单以允许在同一页面上添加国家和地区。
我希望这个具体的例子更容易理解......