我已经通过了 http://docs.djangoproject.com的民意测验教程。
我想知道是否有可能添加一个排序顺序的“选择”模型时,编辑一个投票,我将如何实现这一点
谢谢
您可以将 Meta选项添加到 Django 模型,该模型可以规定其行为方式。有一个 ordering选项,它定义了模型属性记录的排序方式。
Meta
ordering
您可以找到元排序选项 在姜戈的文件里的文档:
如果您希望在 InlineAdmin django 中定义订单,那么它不会为您提供这样做的通用解决方案!有 一些片段,使您能够添加这一功能的管理员,也 意大利面皮提供了您这样一个功能!
class SeminarInline(admin.StackedInline): model = Seminar extra = 0 ordering = ('-date',)
为我工作(上面改编自我的模型) 它按日期降序排序
也有可能覆盖 ModelAdmin的 get_ordering(self, request),它允许不区分大小写的排序:
ModelAdmin
get_ordering(self, request)
from django.db.models.functions import Lower class MyModelAdmin(ModelAdmin): list_display = ('name',) search_fields = ['name'] def get_ordering(self, request): return [Lower('name')] # sort case insensitive
例如,如果希望按百分比对表进行排序:
class Meta: abstract = True ordering = ['-percentage'] #Sort in desc order
class Meta: abstract = True ordering = ['percentage'] #Sort in asc order
是的,您可以添加 订购到您的 ModelAdmin。
下面是4.0文档中的方法
# mymodel/admin.py from django.contrib import admin from . import models # admin.site.register(models.MyModel) @admin.register(models.MyModel) class MyModelAdmin(admin.ModelAdmin): ordering = ['-last_name']
这里的 姓氏是 我的模特中的字段。