在Queryset中,使用order_by在ArrayField中找到pks / id的顺序

时间:2018-06-16 09:37:51

标签: django django-models django-queryset

我有一个带有ArrayField的模型:

class Item(models.Model):
    path = ArrayField(models.IntegerField(), blank=True, null=True)

路径值,例如:

{19,21, 34, 22}

我得到所有项目对象,其中ID在另一个项目路径中:

qs = Item.filter(id__in=item.path)

我需要按照路径中的顺序获取元素(不考虑数组中的值)。

使用order_by('path')会给出“奇怪的”#39;结果,因为我怀疑是考虑所有paths而不是特定路径中元素的顺序

1 个答案:

答案 0 :(得分:1)

As by the docs,应该是order_by('path')