【问题标题】:Many to Many relation' list display with checkbox in Django多对多关系列表在 Django 中使用复选框显示
【发布时间】:2020-05-04 04:35:34
【问题描述】:

我想要一个带有单独行的诊所/医院 M2M 列表的复选框。 这是我的表格

class ClinicHospitalForm(forms.ModelForm):
 class Meta():
     model = ClinicHospital
     fields = ('name','address','contact','lat','lon')

class DoctorForm(forms.ModelForm):
class Meta():
    model = Doctor
    fields = ('name','speciality','contact','clinic_hospital')

【问题讨论】:

    标签: django


    【解决方案1】:

    您可以将小部件设置为CheckboxSelectMultiple widget [Django-doc]

    class DoctorForm(forms.ModelForm):
        class Meta:
            model = Doctor
            fields = ('name','speciality','contact','clinic_hospital')
            widgets = {
                'clinic_hospital': forms.CheckboxSelectMultiple
            }

    【讨论】:

    • 它只显示复选框。我想要列表的每一行上的复选框。
    • @AliRazaJaveed:不,通常它会为每个项目显示一个复选框(请参阅此处stackoverflow.com/questions/39449472/…)。看起来 css 可能会混淆它。
    • 很好,当列表变长时,它会看起来很奇怪。
    • @AliRazaJaveed:不,你只是将它包装在一个可滚动的容器中; stackoverflow.com/questions/7280389/…
    【解决方案2】:

    您可以使用 CheckboxSelectMultiple 。例如,如果 clinic_hospital 是您的 ManyToMany 字段并且您想将其显示为复选框,那么您可以尝试这样

    class DoctorForm(forms.ModelForm):
        clinic_hospital= forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple)
        class Meta():
           model = Doctor
           fields = ('name','speciality','contact','clinic_hospital')
    

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 2021-11-13
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多