Python 在Django模型的有序列表中插入元素
我试图弄清楚如何在Django模型中创建元素的有序列表 我试图扩展用户模型,向用户添加一个军衔(比如军衔)。我想对每个等级的用户进行排序/过滤,并存储等级的svg图形表示。我想使用排名级别在用户之间建立层次结构,因此排名级别必须是唯一的。最后,如果将来发生变化,我希望能够插入或删除排名 为此,我创建了一个列组表,如下所示:Python 在Django模型的有序列表中插入元素,python,sql,django,Python,Sql,Django,我试图弄清楚如何在Django模型中创建元素的有序列表 我试图扩展用户模型,向用户添加一个军衔(比如军衔)。我想对每个等级的用户进行排序/过滤,并存储等级的svg图形表示。我想使用排名级别在用户之间建立层次结构,因此排名级别必须是唯一的。最后,如果将来发生变化,我希望能够插入或删除排名 为此,我创建了一个列组表,如下所示: 等级(Models.model): rank=models.CharField(最大长度=30) 级别=模型。整型字段(唯一=真) image=models.ImageFie
等级(Models.model):
rank=models.CharField(最大长度=30)
级别=模型。整型字段(唯一=真)
image=models.ImageField()
我想要的是,如果我在2个已经存在的等级之间插入一个新等级,那么等级字段能够自我更新
例如,假设我创建了以下列组:
id[pk]|等级|级别|图像
1 |士兵| 1 |士兵.svg
2 |军士| 2 |军士
然后,我想在第2级插入“下士”,以便该表如下所示:
id[pk]|等级|级别|图像
1 |士兵| 1 |士兵.svg
3 |下士| 2 |下士
2 |军士| 3 |军士
这里,通过在2级插入下士
条目,中士
级自动将自己重新编号为3
。如果我删除soldier
条目,我希望该表如下所示:
id[pk]|等级|级别|图像
3 |下士| 1 |下士
2 |军士| 2 |军士
其中下士
和中士
级别都将自己重新编号为1
和2
我不介意必须指定新等级的级别,但我希望较高等级在插入或删除时自动重新排序。我不认为将级别作为主键(PK)是一个好主意,因为如果我更新该表,我不一定希望与用户的关系发生变化。我不希望该表增长太多,因此操作不必非常优化
答案可能非常简单或显而易见,但我对Django/python/databases开发非常陌生。我已经阅读了django文档,在谷歌和这个网站上搜索了答案,但我可以找到我要找的东西
亲切的问候 在数据库中需要这些列组是否有特殊原因?您最好使用枚举,具体取决于此模型的使用方式。此外,blank=False
是默认值,因此无需添加该值。@我希望web应用程序的最终用户可以编辑列组,因为它们(尽管很少)可能会更改。此外,我正在尝试构建一个平台,以适应不同军衔的不同军事要素(海军、陆军、空军司令部等)。我真的不知道如何使用枚举来存储该信息并使其保持可编辑状态。@Monica还感谢blank=false提示,我将编辑我的代码!那样的话,你是对的。对用户定义的数据使用枚举不是一个好主意。在数据库中需要这些列组有什么特别的原因吗?您最好使用枚举,具体取决于此模型的使用方式。此外,blank=False
是默认值,因此无需添加该值。@我希望web应用程序的最终用户可以编辑列组,因为它们(尽管很少)可能会更改。此外,我正在尝试构建一个平台,以适应不同军衔的不同军事要素(海军、陆军、空军司令部等)。我真的不知道如何使用枚举来存储该信息并使其保持可编辑状态。@Monica还感谢blank=false提示,我将编辑我的代码!那样的话,你是对的。对用户定义的数据使用枚举不是一个好主意。