【发布时间】:2020-11-11 11:21:53
【问题描述】:
我有一个模型叫Employee:
Employee:
-
Name: 字符域 -
Email: 邮箱字段 -
Age: 整数字段 -
Ranking:整数字段
我的问题来自Ranking 字段。 Ranking 字段应该确定员工的订单,我根据他们的工作量来确定。我在 Django admin 中设置了这个值。
问题是,如果我添加一个员工并将其放在Ranking = 2,我必须在 2 之后调整每个其他员工的 Ranking。这有意义吗。 如何避免这种情况?
谢谢!
【问题讨论】:
-
你可以试试链表的方法。将您的
Ranking字段替换为EmployeeAbove字段,这将是一个外键,指向在排名顺序中排在前面的员工。这样,无论您的表中有多少员工,您都需要更新最多 3 名员工。 -
为什么不使用
FloatField?如果需要在两个值之间插入,则使用两者之间的平均值。所以在2和3之间,你可以使用2.5。在2和2.5之间可以使用2.25等 -
@WillemVanOnsem 我对使用浮点数犹豫不决,因为它看起来有点笨重,但会考虑。
-
@ShahinMursalov 这听起来很有趣。我怎么能设置它让两个人不能指向一个人呢?
-
@ShahinMursalov 您应该将此作为答案发布,尽管这使得确定第 100 名员工是谁变得更加困难。
标签: django django-models