2015-04-28 31 views
0

設置屬於辦公室。每次更新設置時,我都會在數據庫中創建一個新條目,將舊設置傳遞給active = False,將新設置傳遞給active = true。所以每個辦公室一次只有一個活動設置(我這樣做是因爲我不想跟蹤舊設置)。Django - 自定義向後關係

現在我需要的是一種通過Office對象訪問此設置的方法。 目前我訪問它與倒退關係office.setting_set

我正在使用Django-Rest-Framework,所以我需要一個可序列化的字段。 在我的序列化程序中,我調用:office.setting_set。在常規django中,我可能會做office.setting_set.filter(active = True),但我不能在一個序列化器中這樣做...

理想將是一個自定義模型字段,我會這樣稱呼它:

office.active_setting 

任何想法如何我可以實現這一目標?

+0

「這個問題是我無法篩選active = True字段」 - 爲什麼不呢?爲什麼不''office.setting_set.filter(active = True)'? –

+0

對不起,首先解釋不好。我剛更新了這個問題。 – MonsieurNinja

回答

0

您可以使用model methods。該方法可能類似於以下內容:

def active_setting(self): 
    return self.setting_set.get(active=True)