akv*_*akv 4 python oop django django-models
每个Django模型都有一个id
自动创建的默认主键.我希望模型对象具有另一个属性big_id
,其计算方式如下:
big_id = id * SOME_CONSTANT
我想访问big_id
的model_obj.big_id
,而无需一个名为列对应的数据库表big_id
.
这可能吗?
好吧,django模型实例只是python对象,所以我还是被告知了:P
我就是这样做的:
class MyModel(models.Model):
CONSTANT = 1234
id = models.AutoField(primary_key=True) # not really needed, but hey
@property
def big_id(self):
return self.pk * MyModel.CONSTANT
Run Code Online (Sandbox Code Playgroud)
显然,如果您尝试使用未保存的模型,则会出现异常.您还可以预先计算big_id值,而不是每次访问时计算它.
归档时间: |
|
查看次数: |
1398 次 |
最近记录: |