我有模型‘产品’模型和许多其他模型,它们的外键作为产品。目前我有ProductAdmin行
class Product:
type_of_product=models.ChoiceField()
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
inlines = [Inline1, Inline2, Inline3, Inline4,....Inline 15]所以产品管理员添加页面看起来非常大的表单。在这里,我只需要根据type_of_product的值填充一些内联模型。许多内联模型的条目都是空的。
所以从本质上讲,内联与产品的type_of_product属性有关。目前,用户必须根据他选择的type_of_product来注意哪些内联必须填充值。
现在我想解决这个问题。
选项1)根据用户通过AJAX选择的type_of_product动态呈现内联表单(不知道如何做)
选项2)禁用或隐藏不必要的内联,这样他就看不到不相关模型的内联形式。
有没有人能帮我解决这个问题。
发布于 2014-09-15 18:59:53
您可以根据当前对象修改内联,只需覆盖ModelAdmin的change_view方法即可。在您的ProductAdmin中添加如下内容:
def change_view(self, request, object_id, form_url='', extra_context=None):
product = Product.objects.get(pk=object_id)
current_inlines = []
# CODE TO FILL INLINES BASED ON PRODUCT
self.inlines = current_inlines
return super(ProductAdmin, self).change_view(request, object_id, form_url, extra_context=extra_context)https://stackoverflow.com/questions/25772856
复制相似问题