Django ModelAdmin은 사용자 권한에 따라 다른 형태를 보여줍니다. ModelForm (get_form, get_fieldsets)으로 해결했지만 인라인은 어떻게해야할까요?Django의 인라인 양식 숨기기
class NewsAdmin(admin.ModelAdmin):
form = NewsAdminForm
writing_form = NewsWritingForm
inlines = (LinkInline, FileInline)
ModelAdmin은 요청 개체를 얻기 전에 ModelAdmin.__init__()
에 초기화합니다. 유일한 방법은 그들을 숨기기 위해 CSS를 사용하는 것 같습니다.
나는'컨텍스트를 설정하려고했습니다 [ 'inline_instances는'] = []'render_change_form''에 있지만 유효성 검사 오류를 발생시킵니다. (Django 1.3). 나는'self.inline_instances = []'를 비워 두려고 노력할 것이다 – San4ez
흠 .. 나는 CSS를 사용하는 것이 더 쉬울 것이라고 생각한다. 귀하의 변형에서 인라인 인스턴스를 다시 시작하고 컨텍스트 개체에 추가해야합니다. django 소스 코드 – San4ez
'render_change_form'의 많은 작업과 복사 - 붙여 넣기는 이런 유형의 로직에 대한 좋지 않은 선택처럼 보입니다. 'change_view'와 같이 사용자 권한을 확인하고'self.inline_instances'를 적절히 설정하면 아무런 문제가 없어야합니다. –