У меня есть ModelForm с полем множественного выбора. Выбор - это заполненные экземпляры Hikers, принадлежащие определенному Клубу.
Я хочу настроить способ отображения моей формы, показывая варианты в таблице, где в первом столбце содержатся флажки, а еще несколько столбцов отображают детали каждого туриста. Так, например, столбцы (checboxes, имя, возраст, любимая туристическая тропа).
Я не уверен, как подойти к этому. Как получить доступ и отобразить варианты полей формы с соответствующими полями экземпляра модели в моем шаблоне. Кто-нибудь знает способ Django сделать это?
#models.py
class Club(models.Model):
title = models.CharField()
hikers = models.ManyToManyField(Hikers)
class Hiker(models.Model):
name = models.CharField()
age = models.PositiveIntegerField()
favourite_trail = models.CharField()
#forms.py
class ClubForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
club_pk = kwargs['club_pk']
del kwargs['club_pk']
super(ClubForm, self).__init__(*args, **kwargs)
choices = [(ts.pk, ts.name) for hiker in Club.objects.filter(pk=club_pk)]
self.fields['hikers'].choices = choices
class Meta:
model = Club
fields = ('hikers',)
widgets = {'hikers': forms.CheckboxSelectMultiple}