Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django表单自动选择第一个选项(如果只有一个选项可用)_Python_Django_Forms - Fatal编程技术网

Python Django表单自动选择第一个选项(如果只有一个选项可用)

Python Django表单自动选择第一个选项(如果只有一个选项可用),python,django,forms,Python,Django,Forms,在Django表单中只有一个选项可用的情况下,是否有简单的方法选择下拉列表的第一个选项 对于easy,我指的是一个不需要定义自己的小部件的解决方案,在我们所有的(模型)表单中都需要重复更改 更新,因为最初的问题似乎不清楚: 我只希望在有一个选项可用时选择初始选项。如果选项是对另一个模型的外键引用,那么这样做的方法对我来说并不明显: class Category(models.Model): name = CharField(...) class Post(models.Model):

在Django表单中只有一个选项可用的情况下,是否有简单的方法选择下拉列表的第一个选项

对于easy,我指的是一个不需要定义自己的小部件的解决方案,在我们所有的(模型)表单中都需要重复更改

更新,因为最初的问题似乎不清楚:

我只希望在有一个选项可用时选择初始选项。如果选项是对另一个模型的外键引用,那么这样做的方法对我来说并不明显:

class Category(models.Model):
     name = CharField(...)

class Post(models.Model):
    category = ForeignKey(Category)

class PostForm(forms.ModelForm):
    class Meta:
        fields = '__all__'
    [...]

现在我希望
PostForm
中的
category
字段自动选择到第一个类别,如果数据库中只有一个实例,并且是
-----------
如果有两个或更多类别

我认为不需要任何解释,请查看下面的代码

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')

使用这个怎么样:

Your_Dropdown = forms.TypedChoiceField(choices=your choises, initial='FIRST_OPTION')

如文档所示:

发布一些代码。要使用什么?如果你有预定义的选项,它就可以工作。但是,如果选择实际上是对另一个模型的外键引用,该如何做呢?也许我的问题应该更清楚。我将在更新的问题中更新模型的itadd代码段