Есть две таблички, на уровне базы это выглядит так:
Parent:
+----+---------+
| Id | Name |
+----+---------+
| 1 | Test #1 |
| 2 | Test #2 |
| 3 | Test #3 |
+----+---------+
Child:
+----+---------+-----------+
| Id | Traffic | parent_id |
+----+---------+-----------+
| 1 | 1000 | 1 |
| 2 | 2000 | 3 |
+----+---------+-----------+
связаны через FK в чайлде.
Технически нужна выборка для queryset, что-то типа
select p.parent_id, c.name from child c, parent p where c.parent_id = p.id
Модели просты, в чайлде поле
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
А вот форма
class NewForm(forms.Form):
query = Child.objects.all()....
selectbox = forms.ModelChoiceField(queryset=query,
required=True,
initial=0,
widget=forms.Select,
label=_(u'Select field'))
class Meta:
fields = [
'selectbox',
]
Никак не мог фтыкнуть как сделать нужный queryset, в итоге получилось сделать это:
query = Child.objects.all().values_list('parent_id', 'parent__name')
И получить в итоге на шаблоне вот такое:
<select class="form-control required valid" name="child">
<option value="(1L, u'Test #1')">(1L, u'Test #1')</option>
<option value="(3L, u'Test #3')">(3L, u'Test #3')</option>
</select>
Подскажите пожалуйста, каким образом можно привести это непотребство к виду
<select class="form-control required valid" name="child">
<option value="1">Test #1</option>
<option value="3">Test #3</option>
</select>
А чёт таблицы поплыли, пробелы походу режутся :(