假设有两个类:
class A(models.Model):
…
class B(models.Model):
a = models.ForeignKey(A)
…
为方便在不记住A的情况下添加B,我如何添加链接以在A的更改表单中添加B?
这是this link中提到的解决方案,它建议在B的模型中添加一些代码,但我不认为这样的代码应放在模型中。
更新
内联有问题(或者我没有做到):当内联对象的数量超过max_num属性时,没有新的空白表单来添加新对象。但是,内联对象的数量可能非常大。
答案 0 :(得分:3)
模型A有一个反向外键到B,因为B有一个外键到A:
Django提供“内联”来处理反向外键。
在用户定义的视图 / 您的代码中的表单上下文中,使用inline model formsets。
在 Django admin 的上下文中,使用{{3>},例如 StackedInline 或 TabularInline
< / LI> 醇>如果您不希望从现有对象生成内联formset,则覆盖InlineModelAdmin,返回类似于:YourModel.objects.none()
的内容。这将使内联formset始终为空。如果您只需要一个额外的表单,请设置extra = 1.