我有class A(models.Model)
attr name
。我在模板中使用它并以obj_a.name
视图。我需要覆盖name
attr作为函数,当我写obj_a.name
时,我会得到函数getName
的响应。如何在Django
和Python
中执行此操作?
在Laravel PHP
$this->getNameAttribute()
,我可以覆盖从对象返回的name
。 Name
只是示例,我想在几乎所有attr给定的类中使用它。
class Item(caching.base.CachingMixin, models.Model):
_name = models.CharField(_('Name'), max_length=100, db_column="name",
help_text=_('Item name'))
@property
def name(self):
return self._name
@name.setter
def name(self, value):
self._name = value
答案 0 :(得分:3)
您可以使用property
实现此行为。
class A(models.Model):
_name = Field()
@property
def name(self):
return self._name
答案 1 :(得分:0)
我发现解决方案非常适合我的用法:
console.log($scope.lyrics.id); // show Undefined