PT1*_*114 6 django overriding field model
我想知道是否可以在返回字段时覆盖字段的默认值.说我有一个模型:
class ModelA(models.Model)
name = models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)
有没有办法打电话
modela_instance.name
Run Code Online (Sandbox Code Playgroud)
可以返回一个修改后的值,例如name +"foo",但是在模型本身中有默认运行foo的代码,所以我需要做的就是调用name来获取附加值?
我应该详细说明我实际上希望做的是在模型中有一个方法:
def get_name(self):
return self.name + " foo"
Run Code Online (Sandbox Code Playgroud)
或类似的,只是希望get_name方法覆盖对"name"字段的调用.
Tim*_*ony 13
是的,您可以使用属性来执行此操作
class ModelA(models.Model)
_name = models.CharField(...)
def set_name(self, val):
self._name = "%s - foo" % val
def get_name(self):
return self._name
name = property(get_name, set_name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7037 次 |
| 最近记录: |