gpt4 book ai didi

django manytomany 自关系顺序按中间表 id

转载 作者:行者123 更新时间:2023-12-04 19:15:21 24 4
gpt4 key购买 nike

模型:

class Person(models.Model):
friends= models.ManyToManyField("self", blank=True, null=True)


friends = person.friends.order_by('friends__id')[:5]

我也试过
friends = Person.objects.filter(friends=obj).order_by('-friends__id')[:5]

我需要让 friend 按中间表 id (pk) 排序。

最佳答案

直接使用中间表,不再是查询集。

friends = [pf.to_person for pf in 
person.friends.through.objects.filter(from_person=person)
.select_related('to_person')
.order_by('pk')]

或者您需要在订购部分编写原始 SQL。
person.friends.order_by(person.friends.through._meta.db_table+'.id')

关于django manytomany 自关系顺序按中间表 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10331528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com