我想知道是否有可能重寫字段的默認值,當它返回。說我有一個模型:Django模型:覆蓋字段返回值
class ModelA(models.Model)
name = models.CharField(max_length=30)
有什麼辦法,調用
modela_instance.name
可以返回一個修改後的值,例如名稱+「富」,但有一個附加富默認運行代碼在模型本身中,所有我需要做的就是調用名稱來獲取附加值?
我應該制定並說什麼我實際上希望做的是在模型中的方法:
def get_name(self):
return self.name + " foo"
或相似的,只是想那GET_NAME方法覆蓋調用場「名稱」。
謝謝,我結束了使用稍微不同的方法,現在我正在使用只讀屬性返回我的方法,而不是名稱字段本身。 – PT114
另請參閱http://stackoverflow.com/questions/3757951/changing-the-behaviour-of-a-django-model-with-getattr。基本上,要麼使用屬性,要麼'__getattr__'(小心!)。 –