我正在尝试使用具有预定义选择的字段在 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/