2
我有一個Django項目,它使用通過pip
安裝的第三方包。我想從該軟件包中擴展一個模型,並希望知道這種情況下的最佳實踐。我可以通過猴子補丁獲得我想要的功能,但是我明白這不一定是好的做法。我只是添加一個方法,所以沒有影響數據庫。Django將方法添加到第三方模型
這是我目前的解決方案。
models.py
:
from allauth.socialaccount.models import SocialAccount
def get_foo(self):
...
return foo
SocialAccount.get_foo = get_foo
views.py
social_acc = SocialAccount.objects.get(
...
)
foo = social_acc.get_foo()
我覺得我應該繼承和子類,但然後當然我失去參考其中包含了所有我需要的基本數據的原始模型。
任何幫助非常讚賞。