在只有一个选项可用的情况下,是否有一种简单的方法可以在Django表单中选择下拉列表的第一个选项?
简单易用,我指的是一个不需要定义自己的小部件的解决方案,这对于我们所有(模型)表单的更改都是非常重复的。
更新,因为似乎最初的问题不明确:
如果有一个选项可用,我只想选择initital选项。如果选项是对另一个模型的外键引用,那么对我来说这样做的方式并不明显:
class Category(models.Model):
name = CharField(...)
class Post(models.Model):
category = ForeignKey(Category)
class PostForm(forms.ModelForm):
class Meta:
fields = '__all__'
[...]
现在我希望category
中的PostForm
字段自动选择到第一个类别,如果数据库中只有一个实例,如果有两个或更多实例则为--------
类
答案 0 :(得分:1)
我认为不需要任何解释,请看下面的代码
post_type_choices = (
('article', 'article'),
('tip', 'tip'),
('snippet', 'snippet'),
)
class Post(models.Model):
post_type = models.CharField(
max_length=10, choices=post_type_choices,default='article')
答案 1 :(得分:0)
如何使用它:
Your_Dropdown = forms.TypedChoiceField(choices=your choises, initial='FIRST_OPTION')
如文档中所示:Here