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
我做了一個django應用程序。
這大致相當於我在我的models.py
我需要m2m關係之間的A和B去通過另一個模型,因爲我需要在那裏存儲額外的數據。
現在有一個問題 - 當我嘗試在我的自定義視圖中保存模型A的實例時,無論我是否選擇它們,都不保存與B B的關係。 當我去http://127.0.0.1:8000/admin,並嘗試從那裏創建A的實例,我甚至沒有看到適當的領域(應該是<select multiple>
我猜)選擇關係與B。
有人可以解釋我爲什麼關係沒有保存,甚至沒有顯示在/管理?
這裏是代碼大致相當於什麼,我有views.py: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