class A(Model):
to_b = ManyToManyField('B', blank=True, through='AtoB')
class B(Model):
to_a = ManyToManyField('A', blank=True, through='AtoB')
class AtoB(Model):
a = ForeignKey('A', on_delete=CASCADE)
b = ForeignKey('B', on_delete=CASCADE)
usr = ForeignKey(settings.USER, on_delete=CASCADE)
# some other fields
임장 애플리케이션을 만드는 중입니다.
이것은 대략 내 models.py에있는 것과 같습니다.
거기에 추가 데이터를 저장해야하기 때문에 A와 B 사이에 m2m 관계가 있어야 다른 모델을 통과해야합니다.
지금 문제가 있습니다 - 모델 의 인스턴스를 내 사용자 정의보기에 저장하려고 시도 할 때 B 인스턴스와의 관계는 내가 선택했는지 여부에 관계없이 저장되지 않습니다. 그리고 http://127.0.0.1:8000/admin에 가서 의 인스턴스를 만들려고 할 때 과의 관계를 선택하기 위해 적절한 필드 (심지어 <select multiple>
이어야합니다)가 표시되지 않습니다.
관계가 저장되지 않고/admin에 표시되지 않는 이유를 설명해 줄 수 있습니까?m2m 관계가 표시되지 않거나 django에 저장됩니다.
class Create(CreateView):
model = None # A or B
template_name = 'something.html'
def form_valid(self, form):
self.object = form.save(commit=False)
form.save()
return HttpResponseRedirect(self.get_success_url())
urls.py에서 나는 다음과 같이 추가 인수를 지정합니다 : 작동하지 않을 views.Create.as_view(model=models.A, fields=['to_b'])
코드의 조각을 공유하시기 바랍니다. –
완료되었습니다. – Rob