我有一对多关系模型,它实际上在表单上显示为多选列表。在一个特定的地方,我想把它显示为下拉单选 - 任何想法如何做到这一点?
答案 0 :(得分:1)
请参阅overriding default field types or widgets上的文档。
如果你有一个Book
模型,与ManyToMany
有Author
的关系,就像这样:
class Author(models.Model):
name = models.CharField(max_length=100)
title = models.CharField(max_length=3, choices=TITLE_CHOICES)
def __unicode__(self):
return self.name
class Book(models.Model):
name = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
然后你可以这样做:
from django.forms import ModelForm, Select
class AuthorForm(ModelForm):
class Meta:
model = Author
widgets = {
'name': Select(),
}
NB。此代码未经过测试,但希望足以让您继续前进。