所以我试图在我的 ModelForm 上的这个字段中添加一个类属性,以允许 Bootstrap 样式:
category = forms.ModelChoiceField(queryset=Category.objects.all())
我试过这个:
category = forms.ModelChoiceField(queryset=Category.objects.all(), widget=forms.ModelChoiceField(attrs={'class':'form-control'}))
并得到这个错误:
TypeError: __init__() missing 1 required positional argument: 'queryset'
我完整的ModelForm:
class NewListingForm(forms.ModelForm):
class Meta:
model = Listing
fields = ["title", "description", "start_price", "image", "category"]
title = forms.CharField(widget=forms.TextInput(attrs={'autocomplete':'off', 'class':'form-control'}))
description = forms.CharField(widget=forms.TextInput(attrs={'autocomplete':'off', 'class':'form-control'}))
start_price = forms.DecimalField(label='Starting Bid Price (£)', widget=forms.NumberInput(attrs={'class':'form-control'}))
image = forms.URLField(widget=forms.URLInput(attrs={'autocomplete':'off', 'class':'form-control'}))
category = forms.ModelChoiceField(queryset=Category.objects.all(), widget=forms.ModelChoiceField(attrs={'class':'form-control'}))
(我打算使用 fields = [] labels={} widgets={} 格式,但我不知道如何使用查询集字段来做到这一点)