CheckBoxSelectMultiple 위젯으로 업데이트하려는 ManyToMany 릴레이션이있는 모델이 있습니다. 다른 모든 모델은 기본 제네릭 형식을 사용하지만, 해당 양식 필드를 다시 정의하면 UpdateView에 유일한 모델이 표시됩니다. 전체 양식을 재정의 할 필요없이 단 하나의 필드로 위젯을 사용하는 방법이 있습니까?전체 양식을 재정의 할 필요없이 일반 UpdateView에서 사용자 정의 위젯을 사용하는 방법은 무엇입니까?
Views.py :
from django.views.generic.edit import UpdateView
from kunden.models import Kunde, Unternehmenstyp
from kunden.forms import KundeEditForm
class KundeUpdate(UpdateView):
model = Kunde
form_class = KundeEditForm
template_name = 'kunden/kunde_update.html'
success_url = '/'
forms.py :
from django.forms.widgets import CheckboxSelectMultiple
from django.forms import ModelMultipleChoiceField,ModelForm
from kunden.models import Kunde, Unternehmenstyp
class KundeEditForm(ModelForm):
model = Kunde
unternehmenstyp = ModelMultipleChoiceField(widget=CheckboxSelectMultiple,required=True, queryset=Unternehmenstyp.objects.all())
나는,이 고통스럽게 간단한 솔루션을 알고 사전 모두에 양해 해 주셔서 감사합니다 그래서.
나는 누구든지 독서의 가치가있는 장고 책을 추천 할 수 있습니까? 필자는 기본 튜토리얼을 통해 필요에 따라 문서를 파헤 치고 Django의 두 가지 스 콥을 읽었습니다 : https://django.2scoops.org/ 그래서 내 레벨의 누군가를위한 책을 생각할 수 있다면 크게 감사하겠습니다. 덕분에 다시
것은 확실히 빠른했다. 무리 감사. 나는 이것을 대답으로 받아 들여 보려고했지만 10 분을 기다려야한다고 대답했다. :) 시간이 있다면, 여기에 무슨 일이 벌어지고 있는지에 대한 문서를 가르쳐 주시겠습니까? – skzryzg
KundeEditForm의 메타 정보는 사용자 정의 위젯을 모든 양식 필드로 설정할 수있는 기능을 제공합니다. – aRkadeFR
두 번째 부분에서는 위치 매개 변수 인 "위젯"을 modelform_factory에 전달하여 동일한 작업을 수행합니다. – aRkadeFR