我试图弄清楚如何在Django模型中创建元素的有序列表
我试图扩展用户模型,向用户添加一个军衔(比如军衔)。我想对每个等级的用户进行排序/过滤,并存储等级的svg图形表示。我想使用排名级别在用户之间建立层次结构,因此排名级别必须是唯一的。最后,如果将来发生变化,我希望能够插入或删除排名
为此,我创建了一个列组表,如下所示:
class Rank(Models.model):
rank = models.CharField(max_length=30)
level = models.IntegerField(unique=True)
image = models.ImageField()
我想要的是,如果我在2个已经存在的等级之间插入一个新等级,那么等级字段能够自我更新
例如,假设我创建了以下列组:
id[pk]|等级|级别|图像
1 |士兵| 1 |士兵.svg
2 |军士| 2 |军士
然后,我想在第2级插入“下士”,以便该表如下所示:
id[pk]|等级|级别|图像
1 |士兵| 1 |士兵.svg
3 |下士| 2 |下士
2 |军士| 3 |军士
这里,通过在2
级别插入corporal
条目,sergent
级别自动将自身重新编号为3
。如果我删除了soldier
项,那么我希望该表如下所示:
id[pk]|等级|级别|图像
3 |下士| 1 |下士
2 |军士| 2 |军士
其中corporal
和sergent
级别将自己重新编号为1
和2
我不介意必须指定新等级的级别,但我希望较高等级在插入或删除时自动重新排序。我不认为将级别作为主键(PK)是一个好主意,因为如果我更新该表,我不一定希望与用户的关系发生变化。我不希望该表增长太多,因此操作不必非常优化
答案可能非常简单或显而易见,但我对Django/python/databases开发非常陌生。我已经阅读了django文档,在谷歌和这个网站上搜索了答案,但我可以找到我要找的东西
亲切的问候
目前没有回答
相关问题 更多 >
编程相关推荐