【发布时间】:2021-01-06 00:24:30
【问题描述】:
考虑一个模型Section,它显示在站点上并由用户使用 Django 管理界面创建/编辑。我想添加一个字段,允许用户轻松控制部分在网站上显示的顺序。最简单的选项似乎是允许自动递增但可以由用户编辑的整数字段——类似于内置的 AutoField 所做的。
但是,为了更轻松地编辑订单,我希望每次将字段默认值增加 10,以便用户更轻松地切换部分。第一个部分会得到order=1,下一个会得到order=11,依此类推,这样一个部分可以通过给出它来插入前两个部分之间,例如order=6。
有没有办法可以重用AutoField 来实现这个目的?如果没有,我怎样才能最好地实现这种类型的订购方案?
理想情况下,我想要达到的效果应该是这样的:
from django.db import models
class Section(models.Model):
text = models.TextField()
order = AutoField(step=10)
class Meta:
ordering = ('order',)
【问题讨论】:
标签: django auto-increment