사용자가 보고서를 만들 때 "즉시"위치를 만들 수 있도록하고 싶습니다. 가능한 경우 다음 모델을 사용하십시오.Django 형식 : ManyToMany 인라인 만들기
모델 :
class Report(models.Model):
...
location = forms.ManyToManyField(Location)
class Location(models.Model):
name = forms.CharField(max_length=255)
...
내가 검색하고 동작은 장고 formsets에 의해 주어진 일에 가깝습니다.
사실 저는 현재 다소 외계인 관계를 사용하고 형식 세트에 의존하면서이를 수행 할 수 있습니다. 이 기술을 사용하여 django-extra-views과 django-dynamic-formset을 추가함으로써 사용자가 추가 할 위치의 수를 선택할 수있게되었습니다. 실제 셋업
스트립 다운 버전 :
모델 :
class Report(models.Model):
...
class Location(models.Model):
name = forms.CharField(max_length=255)
report = forms.ForeignKey('Report')
형태 :
class LocationForm(forms.ModelForm):
class Meta:
model = Location
fields = '__all__'
class LocationFormSet(extra_views.InlineFormSet):
model = TestLocation
form_class = TestLocationForm
시청자
class ReportCreateView(extra_views.CreateWithInlinesView):
model = Report
inlines = [LocationFormSet, ]
불행히도이 설정을 사용하여 위치 중복 된 위치를 많이 가져 오는 하나 이상의 보고서에 속할 수 없습니다. 그래서 ManyToMany 관계가 더 적합 할 것이라고 생각합니다. 중개 모델에 대해 이야기 한이 질문과 관련된 몇 가지 답변을 발견했지만 작동시키기 위해 어느 곳으로도 나갈 수 없었습니다.
내 작업 설정을 조정하여 manytomany 관계에서 작동하도록하는 방법이 있습니까? 아니면 사용자가 보고서 작성 중에 위치를 "즉석에서"만들 수있는 완전히 다른 접근 방식이 있습니까?
감사합니다.
최상의 응답 : https://stackoverflow.com/a/21577368/1393774 – Virako