所以我有了與其他三款車型Django的通用外鍵排序
class Status(BaseRequestStatus):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
class Request(models.Model):
name = models.CharField(max_length=50, db_index=True)
...some fields
statuses = GenericRelation(Status, related_query_name='request')
class AnotherRequest(models.Model):
name = models.CharField(max_length=50, db_index=True)
...some fields
statuses = GenericRelation(Status, related_query_name='another_request')
class ThirdRequest(models.Model):
name = models.CharField(max_length=50, db_index=True)
...some fields
statuses = GenericRelation(Status, related_query_name='third_request')
所以目前我正與一個表中的名稱顯示狀態的通用外鍵關係的典範。我希望能夠按名稱排序。目前我正在這樣排序。
Status.objects.all().order_by('request__name', 'another_request__name', 'third_request__name')
但是用這種方法
所有的「要求」的一大塊進行排序,然後「another_request」,然後「third_request」
反正是有排序的所有這些在一起嗎?我能夠通過將其轉換爲列表來實現它,但在這種情況下,我需要使用Queryset。
在此先感謝您的幫助。
這很有道理。非常感謝你,我會嘗試一下。 – mingle
所以不幸的是,當我嘗試實現這個方法時,我得到了 '無法獲取'012r'當我執行'Status.objects.all()' –
mingle
你是否重寫了'__str__'和/或'__repr__'在'狀態'上?檢查實施。我需要更多信息(堆棧跟蹤,相關代碼)才能幫助您。 – Risadinha