如何爲相關管理員設置Django查詢的默認訂單?相關查詢中的Django Meta排序
您可以設置默認順序與Meta.ordering:
class Subject(Model):
title = TextField()
class Course(Model):
subject = ForeignKey(Subject)
class Meta:
ordering = ['id']
當您運行Course.objects.all()
這將設置的順序。但是當您運行subject.course_set.all()
時,課程可能會失靈。
理想情況下,解決方案不會涉及對查詢數據庫的龐大現有代碼庫的更改。
注:數據庫PostgreSQL的
'subject.course_set.all()'也會被排序。你怎麼知道它不是? – ettanany
我跑了它。有趣的是,它被**顛倒了**。當用'''''''''subject.course_set.all查詢時,用'''Subject.objects.all()'''查詢並且課程由id **降序排列**時, ()'''。 – Will
'subject.course_set.all()'的順序與您在「課程」模型中設置的順序相同,您是不是這樣? – ettanany