Проблема решена. Не знаю на сколько правильно и корректно, но всё работает))
def get_inline_instances(self, request, obj=None):
inline_instances = []
if request.path.split('/')[-2]=='add':
inlines = []
else:
inlines = self.inlines
for inline_class in inlines:
inline = inline_class(self.model, self.admin_site)
if request:
if not (inline.has_add_permission(request) or
inline.has_change_permission(request) or
inline.has_delete_permission(request)):
continue
if not inline.has_add_permission(request):
inline.max_num = 0
inline_instances.append(inline)
return inline_instances
def get_formsets(self, request, obj=None):
for inline in self.get_inline_instances(request, obj):
yield inline.get_formset(request, obj)