2016-03-01 81 views
1

我有以下Django模型:在Django中通過逆向外鍵屬性進行排序?

class City(models.Model): 
    ... 
    region = models.CharField(...) 
    group = models.ForeignKey(CityGroup, null=True) 

class CityGroup(models.Model): 
    ... 

在CityGroup城市都具有相同的區域。城市地區可以按城市地區排列嗎? (最好只有一個查詢)。我想避免將區域字段移至CityGroup。

回答

1

當然,你可以做到這一點

query = CityGroup.objects.all().order_by('city__region') 
+1

可能'city__region__name'或在'region'模型的一些其他領域,我覺得上面會被'region' PK順序,但OP實際上並沒有指定。 –

+0

以上區域是CharField。但是你是對的,如果這將是一個外鍵。 – ilse2005

+0

哦,對。我應該仔細閱讀。嗯,我想知道上面的實際工作是否因爲CityGroup具有多個「城市」關係 - 即使它們都在同一個區域內,DBM也無法知道或強制執行。我猜是非規範化的危害。 –

相關問題