Django:如何动态删除内联线?

Django:如何动态删除内联线?,django,inline,Django,Inline,Django:如何动态删除内联线?由于某些原因,没有对象权限的用户仍然可以通过内联线访问对象。以下是如何动态删除它们: class FooAdmin(admin.ModelAdmin): inlines = ['SomeInline'] ... def change_view(self, request, object_id, extra_context=None): def delete_inlines(inlines): for

Django:如何动态删除内联线?

由于某些原因,没有对象权限的用户仍然可以通过内联线访问对象。以下是如何动态删除它们:

class FooAdmin(admin.ModelAdmin):
    inlines = ['SomeInline']
    ...
    def change_view(self, request, object_id, extra_context=None):
        def delete_inlines(inlines):
            for index, inline in reversed(list(enumerate(self.inlines))):
                if inline.__name__ in inlines:
                   del self.inlines[index]
                   del self.inline_instances[index]
        delete_inlines(['SomeInline' ])
        return super(FooAdmin, self).change_view(request, object_id, extra_context=None)