每次看到有人用方法編寫模型時,他們都使用類方法。我認爲這是事情的方式,但決定先用實例方法測試我的代碼。我在模型中使用實例方法沒有問題,但現在我想知道爲什麼每個人似乎總是使用類方法而不是實例方法。在GAE模型中使用類方法有什麼優勢嗎?如果我使用實例方法,會遇到問題嗎?在Google App Engine中,我不應該在模型中使用實例方法嗎?
1
A
回答
4
,當你需要一個實體的實例做一些你應該使用實例方法。
您正常使用classmethods當你只需要模型,你不需要或不具備實體。
因此,例如,你有一組特定的使用所有的時間實例的查詢,是有意義的把它定義爲類方法。
例如
@classmethod
def do_somespecial_query(cls):
return cls.query().filter(cls.some_property = True)
或者如果您需要工廠。
0
我認爲這是完全沒使用實例方法爲您定製ndb.Model類。
很多時候,它可以幫助你的代碼的可讀性。
我想不出用實例方法,截至目前
例如一個巨大的缺點,
modelInstance.key
是非常常用的一個實例方法。
如果是
modelClass.key(instance)
如果將顯著降低你的代碼正確的可讀性? (這當然可以倚重的編碼風格依賴)
相關問題
- 1. 我應該在Google App Engine中使用會話嗎?
- 2. 我有數據模型...現在在Google App Engine中使用Python
- 3. 在Google App Engine中啓動Django實例
- 4. 我可以在Google App Engine應用程序中使用facelets嗎?
- 5. 我可以在Google App Engine模塊中使用TensorFlow嗎?
- 6. 我應該在XNA中重用模型實例嗎?
- 7. 我可以在Google App Engine上實例化2個memcache類嗎?
- 8. 模型類(在MVC中)應該使用靜態方法還是實例方法?
- 9. 我可以在Google App Engine上更改Node.js應用程序的實例類嗎?
- 10. Google App Engine實例小時
- 11. 我可以在Google App Engine上使用Django模板標籤嗎?
- 12. 我應該如何在Google App Engine項目中導入django.middleware類?
- 13. 我應該在哪些模型中共享實用方法?
- 14. CQRS是在Google App Engine上實現社交應用的好方法嗎?
- 15. 我可以在Google App Engine中使用JavaCompiler嗎?
- 16. 我可以在Google App Engine中使用TA-Lib嗎?
- 17. 我可以在Google App Engine中使用JPA 2.0嗎?
- 18. 我可以在Google App Engine中使用Django的郵件API嗎?
- 19. 使用實體 - Google App Engine
- 20. Google App Engine適合我嗎?
- 21. 不能在Google App Engine(Java)中使用JSONObject嗎?
- 22. Google App Engine中模型的默認值
- 23. 在Google App Engine中創建實體
- 24. 在Google App Engine中預裝實體
- 25. 在Google App Engine中使用ORMLite - 雲SQL
- 26. 在Google App Engine中使用sqlite3?
- 27. 在Google App Engine中使用c:forEach標記
- 28. 如何在Google App Engine中使用ujson
- 29. 使用Java在Google App Engine中分頁
- 30. 如何在Google App Engine中使用sbt?