私はdjangoの専門家ではありません。この質問が愚かであれば申し訳ありません。 私はdjangoで単純な登録ページを作成しようとしています。多対多の関係にいくつか問題があります。Django m2mの関係の問題
マイmodels.py
class Dog(models.Model):
name = models.CharField(max_length=100)
reg_num = models.CharField(max_length=100)
owner = models.ManyToManyField('Owner', db_column='owner')
class Meta:
managed = False
db_table = 'dog'
def __str__(self):
return self.name
class Owner(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
私はジャンゴからクラスベースのビューを使用しています:
class DogForm(ModelForm):
class Meta:
model = Controle
fields = ['name', 'reg_num','owner']
class DogMixin(object):
model = Dog
form_class = DogForm
template_name = 'generic_form.html'
success_url = reverse_lazy('dog_list')
def form_valid(self, form):
obj = form.save(commit=False)
obj.user = self.request.user
obj.save()
return HttpResponseRedirect(self.success_url)
class DogCreate(DogMixin, CreateView):
pass
class DogUpdate(DogMixin, UpdateView):
pass
class DogDelete(DogMixin, DeleteView):
template_name = 'generic_delete.html'
そして最後にhtmlファイル:
<tbody>
{% for dog in object_list%}
<tr>
<td> {{dog.name}}</td>
<td> {{dog.reg_num}}</td>
<td> {{dog.owner}}
</tr>
{% endfor %}
</tbody>
私は犬を作成するときインスタンス、私はボックス内の所有者を選択します。 表は「dog.owner」以外は表示されません。 私は何が欠けていますか?
私は、所有者がお父さん、お母さん、息子、daugtherになることができる家族の中で頑張っています。 – anaidalina
ダニエルありがとう、とても役に立ちました – anaidalina