相关疑难解决方法(0)

如何循环表单字段选项并显示关联的模型实例字段

我有一个带有多选字段的ModelForm.选项是属于特定俱乐部的远足者的填充实例.

我想通过在第1列包含复选框的表格中显示选项来自定义表单显示的方式,还有一些列显示每个hiker的详细信息.例如,列是(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}
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-forms

12
推荐指数
3
解决办法
2万
查看次数

标签 统计

django ×1

django-forms ×1

django-templates ×1

python ×1