gpt4 book ai didi

python - 有没有一种简单的方法可以在 Django 模型/Python 类中创建派生属性?

转载 作者:太空狗 更新时间:2023-10-30 02:06:42 26 4
gpt4 key购买 nike

每个 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

显然,如果您尝试使用未保存的模型执行此操作,将会出现异常。也可以预先计算big_id的值,而不是每次访问都要计算。

关于python - 有没有一种简单的方法可以在 Django 模型/Python 类中创建派生属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1626155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com