2012-07-21 3 views
4

따라서 양식 마법사의 기본 Django 관리자 양식을 사용하고 싶습니다.이 양식의 첫 번째 페이지와 두 번째 페이지 모두에 주 개체에 대한 외래 키가 있으므로, 인라인으로 편집 할 수 있기를 바랍니다. http://elo80ka.wordpress.com/2009/10/28/using-a-formwizard-in-the-django-admin/의 예제를 기본으로 사용했지만 관리자가 사용하는 자신의 양식을 지정합니다. 물론 사용자 정의 양식을 사용하면 인라인이 작동하지 않습니다. 그래서 나는 일을하려고 다음기본 Django 관리 양식 및 양식

create_syllabus = SyllabusCreationWizard([SyllabusAdmin.form, CalendarForm]) 

그래서, 그러나, 나는 다음과 같은 오류 얻을 경우 :

'ModelForm' object has no attribute '_meta' 
Request Method: GET 
Request URL: http://127.0.0.1:8000/admin/Charybdis/syllabus/add/ 
Django Version: 1.4 
Exception Type: AttributeError 
Exception Value:  
'ModelForm' object has no attribute '_meta' 
Exception Location: C:\Python27\lib\site-packages\django\forms\models.py in __init__, line 229 
Python Executable: C:\Python27\python.exe 

자동 클래스의 메타를 지정하지 않는 관리자 양식 생성 된 것으로 나타납니다을 일반 ModelForm에 필요한 정보.

FormWizard에서 기본 관리자 양식을 사용하는 방법이 있다면 내 질문에 대한 것입니다. 어떻게 든 관리자 양식에 메타를 제공해야합니까, 그렇다면 어떻게해야합니까? 아니면 완전히 다른 일을해야합니까?

+0

4 년 후 어떻게 오늘 하시겠습니까? :) –

+0

쉬운 : 나는하지 않을 것이다. – rmehlinger

답변

1

나는 형식이 만들어지고 ModelAdmin에서 사용되는 방법에 문제가 있다고 생각합니다. 'SyllabusAdmin.form'을 호출하면 초기화되지 않은 ModelForm 클래스가됩니다.

Afaik ModelAdmin은 get_form을 사용하여 실제로 양식을 만들고 구성합니다. 귀하의 경우에는

당신은 당신이 원하는 ...이 질문에 대한 답변이 되었기를 바랍니다 무엇을 달성하는

form = SyllabusAdmin(SyllabusModel, admin.site).get_form(request)

같이해야 할 것이다.