python - 按字段订购型号并提供选择

标签 python django django-models

我正在尝试使用具有预定义选择的字段在 Django 应用程序中订购模型。我可以按字母顺序排序,但由于选择是一周中的几天,所以这不太符合我的需要。这是模型:

class Slot( models.Model ):

    DAY_CHOICES = (
        ('SUN', 'Sunday'),
        ('MON', 'Monday'),
        ('TUE', 'Tuesday'),
        ('WED', 'Wednesday'),
        ('THU', 'Thursday'),
        ('FRI', 'Friday'),
        ('SAT', 'Saturday'),
    )

    day = models.CharField( max_length=3, choices=DAY_CHOICES )
    start = models.TimeField()
    end = models.TimeField()
    template = models.ForeignKey( Template )

这是将模型拉入管理 View 的内联:

class SlotInline( admin.TabularInline ):
    model = Slot
    ordering = ('day','start',)

我知道我可能可以使用整数作为存储值,但是有没有一种通用方法可以在具有选择的字段上强加自定义排序顺序?

最佳答案

您应该将数据存储为整数(例如 0 = 星期日),并使用选项将该整数映射到日期。那么排序就很简单了。

关于python - 按字段订购型号并提供选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075076/

相关文章:

python - asyncio 的默认调度程序何时公平?

python - 管理 Python 脚本的 shell 命令结果

python - 具有问题模型的 Django 中的自定义权限

python - 使用for循环打印值django模板

具有多对多关系的Django表单不保存

Python:如何获取当前正在运行的脚本的目录?

python - 从命令提示符运行 rpy2

python - 重写表单的 clean 方法来自定义错误消息

刷新后重新提交 django 表单

python - 在 Django 中,当我运行 migrate 时,出现错误 : accounts_userinfo. user_id may not be NULL