Я использую Django ManyToManyField, чтобы мой пользователь мог выбирать кратные значения из флажков. Кажется, все это работает и сохраняется правильно, за исключением того, что на дисплее вместо описания отображается «Выбор объекта (1)».
models.py:
class Choice(models.Model):
description = models.CharField(max_length=20)
def __unicode__(self):
return unicode(self.description)
class Person(models.Model):
name = models.CharField(max_lenght=20)
choice = models.ManyToManyField(Choices) #disciplines offered by an academy
def __unicode__(self):
return self.name
forms.py
class PersonForm(models.ModelForm):
class Meta:
model=Person
fields=('name','choice')
person_update_form. html
{% block content %}
<form method="post" enctype="multipart/form-data" novalidate>
{% csrf_token %}
{{ form.name }}
{{ form.choice }}
<button type="submit" class="btn btn-success">Save Person</button>
</form>
{% endblock %}
В базе данных «Мой выбор» 3 записи: «Красный», «Зеленый», «Синий». (ie description = 'Red')
При отображении формы вместо поля с:
'Red'
'Green'
'Blue'
я вижу поле с:
Choice Object(1)
Choice Object(2)
Choice Object(3)
Кто-нибудь знает, как заставить дисплей отображать описания вместо объекта?
Заранее спасибо.