我有一个包含不同字段的“父”模型,其中一个是指向另一个模型的 ManyToMany 字段(该模型又具有多个字段)。
我想显示一个 ModelChoiceField ,其中包含“父”模型具有的 ManyToMany 对象的名称。
模型.py
class Media(models.Model):
name = models.CharField(max_length=20, default='')
ident = models.CharField(max_length=20, default='')
def __unicode__(self):
return self.name
class Parent(models.Model):
name = models.CharField(max_length=200, default='')
media = models.ManyToManyField(Media)
def __unicode__(self):
return self.name
为此,在 views.py 我有:
l = Parent.objects.all().order_by('name')
for parent in l:
if parent.name == unicode(request.session['current_parent'])
break
m = forms.ModelChoiceField(parent.media.all(), widget=forms.Select())
return render_to_response('tab.html', {'media_list':m})
但是我在我的 html 中看到的是这句话:<django.forms.models.ModelChoiceField object at 0x03294570>
我应该怎么做才能正确呈现列表?