2012-10-09 2 views
1
여기

을 활용하여 새 레코드를 생성하는 것은 장고 모델 새로운 질문 추가 질문 텍스트를 입력 할 수있는 양식을 표시하고 is_free_text 체크 박스와 기존 옵션이있는 목록 상자 및 새로운 아이콘을 추가 할 수있는 더하기 아이콘을 표시합니다.장고 관리자 힘 사용자보다는 기존

이 동작을 비활성화하고 사용자가 기존 옵션을 선택하는 대신 항상 새로운 옵션을 추가하도록하는 방법이 있습니까? 이상적으로, 나는 혼란 스러울 때가 있기 때문에 기존 옵션을 보지 않기를 바란다. 텍스트 줄과 점수 입력란, 더하기 아이콘과 같이 옵션 텍스트와 점수를 새로 추가 할 수 있습니까?

나는 기존의 장고 관리자를 가능한 한 많이 활용하려고 노력하고 있으며 나는 이것이 내가 표현하려고하는 방식과 정확히 일치한다고 생각하지만 어디에서 기억할 수 없는지 생각한다. 나는 당신의 질문을 이해로서

답변

0

, 당신은 InlineModelAdmin 사용해야합니다

class QuestionOptionInline(admin.StackedInline): 
    model = QuestionOption 

    extra = 1 # show only one QuestionOption form 

    def queryset(self, request): 
     # hack: don't show existed QuestionOption 
     return QuestionOption.objects.none() 

class QuestionAdmin(admin.ModelAdmin): 
    fields = ['text', 'is_free_text'] 
    inlines = [QuestionOptionInline] 
+0

감사를 힌트에 대해 꽤 있지만 작동하지 않습니다 - 점점 '<클래스의 core.models.QuestionOption는'><클래스에는 외래 키가 없습니다 'core.models.Question'> ' – abolotnov

+0

Question 클래스의'options '을 제거하고 QuestionOption의 Question에 FK를 추가하여이 문제를 해결했습니다. 이제는 걱정할 필요가 있습니다. 질문을 편집하면 옵션이 표시되지 않습니다. 그게 정상인가요? – abolotnov

+0

ok - queryset 오버라이드를 제거한 결과, – abolotnov