2
我試圖存儲my_app.path.to.my_class
在數據庫Python,Django,存儲一個類名以便稍後實例化一個對象?
我會用這個實例使用from django.utils.module_loading import import_string
我很擔心這個方案沒有處理好,我需要的情況適當的類對象更改模塊名稱或路徑。會有更好的方案來處理這個問題嗎?第二,爲了存儲類對象的類名,我認爲有辦法以某種方式獲得類的完全限定名。
即有沒有辦法讓我在下面生成fully_qualified_class_name
?
class FooShipping(object):
fully_qualified_class_name = 'store.shipping.foo_shipping.FooShipping'
很難說什麼沒有更多的情況下,你只描述您的建議解決方案,而不是解決問題。 –
你只描述了更多你的解決方案,我要求的是一個解釋,爲什麼你需要這個相當不尋常的功能。我的經驗是,當你在這種情況下結束時,你通常會在設計的早期出現錯誤轉彎。 –
我認爲你的方法沒問題。如果您要更改模塊名稱,那麼您需要更改其他代碼。這就是所謂的重構:)無論如何,如果您將模塊導入與'import'一起使用經典方法,那麼在模塊重命名的情況下,您也需要更改代碼,這是正常情況。 –