2010-01-16 54 views
3

我正在構建一個應用程序,它將在處理APIRecord(models.Model)類中的信息之後發送API調用並保存結果信息。Django:雞或蛋問題

1)我應該建立在這樣一種方式,該類這個API調用,處理該信息(包括對業務規則檢查),然後創建我的APIRecord()類的一個實例一個單獨的類?

或者

2)我應該建立與處理適當的方法一個單獨的類,然後調用API,然後在我的模型,覆蓋APIRecord.save()方法來調用單獨的類的API方法,然後保存結果?

或者

3)我應該建立與適當的方法我的模型類調用API和處理響應(包括檢查某些價值和其他業務規則)?

我嘗試了#2並遇到了靈活性問題(但我仍然對建議持開放態度)。我傾向於#1,但我不確定所有的負面因素呢?

回答

1

這是設計決定。它取決於您的設計和編程興趣。 我使用了你說的三種方法的組合。如果我需要一些可以從其他字段構建的信息,那麼我將在模型類中創建一個內部函數。如果我需要數據庫的其他記錄來做一些事情,我會在模型類之外創建一個函數。和其他不尋常的需求將在我需要它們的任何地方計算。