Python Django UpdateView
我正在使用通用Django视图在my Views.py中创建CreateView和UpdateView,其中字段“Author”是模型中的ForeignKeyField:Python Django UpdateView,python,django,django-views,Python,Django,Django Views,我正在使用通用Django视图在my Views.py中创建CreateView和UpdateView,其中字段“Author”是模型中的ForeignKeyField: class BookCreate(CreateView): model = Book fields = ['title', 'author'] 一般呈现的创建表单提供了一个下拉列表,我可以在其中选择作者-到目前为止还不错。我的问题是:如何按字母顺序对下拉列表进行排序 提前感谢您的帮助 订购发生在模型部分 因此
class BookCreate(CreateView):
model = Book
fields = ['title', 'author']
一般呈现的创建表单提供了一个下拉列表,我可以在其中选择作者-到目前为止还不错。我的问题是:如何按字母顺序对下拉列表进行排序
提前感谢您的帮助 订购发生在模型部分 因此,作者模型将如下所示:
class Author(models.Model):
name = models.CharField(max_length=40)
# other fields
class Meta:
ordering = ('name,')
有关更多详细信息,请查看文档:
在模型部分进行排序 因此,作者模型将如下所示:
class Author(models.Model):
name = models.CharField(max_length=40)
# other fields
class Meta:
ordering = ('name,')
有关更多详细信息,请查看文档:
最简单的方法是向模型中添加一些顺序,例如:
class Author(models.Model):
name = models.CharField(max_length=128)
class Meta:
ordering = ['name']
然后,我们可以使用以下内容插入此表单:
class BookCreate(CreateView):
model = Book
form_class = BookForm
class BookCreate(CreateView):
模型=书
form_class=BookForm
最简单的方法是向模型中添加一些排序,例如:
class Author(models.Model):
name = models.CharField(max_length=128)
class Meta:
ordering = ['name']
然后,我们可以使用以下内容插入此表单:
class BookCreate(CreateView):
model = Book
form_class = BookForm
class BookCreate(CreateView):
模型=书
form_class=BookForm
在重写CreateView的def get_queryset()时,可以使用order_by
?AForeignKey
到您自己制作的模型?抱歉,我是新手:-)所以我将该定义放在类中?是的,作者是我的model@Dennis:但是要什么型号的?目标模型是什么?覆盖CreateView的def get\u queryset()时,可以使用order\u by
。
什么是作者
?AForeignKey
到您自己制作的模型?抱歉,我是新手:-)所以我将该定义放在类中?是的,作者是我的model@Dennis:但是要什么型号的?目标模型是什么?无需创建仅用于订购的表单。您可以使用get_form
方法获取生成的表单,只需使用fields
属性更改查询集即可。@DavitTovmasyan:这确实不是必需的。但是相当难看。就像重写get\u context\u data
而不是使用传递给模板的视图一样。无需创建表单进行排序。您可以使用get_form
方法获取生成的表单,只需使用fields
属性更改查询集即可。@DavitTovmasyan:这确实不是必需的。但是相当难看。就像覆盖get\u context\u data
而不是使用传递给模板的视图一样。