这就是导致错误的原因,我知道的很多:
forms.py文件:
class CustomSignupForm(UserCreationForm):
ENGLISH_INTEREST = EnglishInterest.get_english_interest_data()
english_interest = forms.MultipleChoiceField(choices=ENGLISH_INTEREST, widget=forms.CheckboxSelectMultiple())
models.py文件:
class EnglishInterest(models.Model):
english_interest = models.CharField(max_length=255)
@staticmethod
def get_english_interest_data():
return EnglishInterest.objects.values_list('english_interest')
我知道必须有一些简单的解决方案来让这个多项选择域工作。如果我使用以下命令,它就会起作用:
ENGLISH_INTEREST= [
('general speaking', 'General Speaking'),
('work opportunities', 'Work Opportunities'),
('travel', 'Travel'),
('study abroad', 'Study Abroad'),
]
发布于 2019-07-29 10:58:21
选择字段需要一个id和一个显示名称。通常,您可以直接向它传递一个查询集,但您也可以传递一个元组列表。
choices = [(0, 'Choice 1'), (1, 'Choice 2')]
在您的示例中,您需要进行一些小更改以将id字段包括在值列表中
def get_english_interest_data(self):
return EnglishInterest.objects.values_list('id', 'english_interest')
https://stackoverflow.com/questions/57252319
复制相似问题