1
我有一个Django模型中的项目列表,我希望能够设置顺序。基本上是一个链表。Django外键排序/位置
class List(models.Model):
name = models.CharField(max_length=255)
class Item(models.Model):
list = models.ForeignKey(List)
position = models.PositiveIntegerField()
data = models.AnyField()
class Meta:
unique_together = ('list', 'position')
ordering = ['position']
这是我想到的模型。对于列表中的每个ListItem,列表位置必须是唯一的,但它也必须没有间隙(例如,删除项目4不会导致位置顺序[1,2,3,5,6]
为什么不使用pk而不是位置字段? pk已经给你唯一的ID – catherine 2013-02-11 15:20:46
因为每增加一个pk都会增加 - 无论List fk如何,也许这个pk应该放在列表中间。 – hannson 2013-02-11 16:52:23
'PhotoQueue'对象没有属性'get_photos_order' 这个错误呢? – uzu 2018-02-18 13:22:39