Python中文
首页
教程
问答
标签
搜索
登录
注册
Django模型,用属性重写save方法或自定义方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在处理一些必须返回模型字段总和的模型。是重写模型上的save方法还是创建一个返回sum的自定义方法更好。两种解决方案是否存在性能问题?在</p> <p>选项1:重写save方法。在</p> <pre><code>class SomeModel(models.Model): integer1 = models.IntegerField() integer2 = models.IntegerField() integer3 = models.IntegerField() sum_integers = models.IntegerField() def save(self, *args, **kwargs): self.sum_integers = sum( [self.integer1, self.integer2, self.integer3]) self.sum_integers.save() return super(SomeModel, self).save(*args, **kwargs) </code></pre> <p>选项2:自定义方法</p> ^{pr2}$
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>取决于你是要更新更多的字段还是需要更多地调用总和。在</p> <p>为了使它更通用,我假设运算不仅是加法运算,而且是涉及大量数字的多重复杂计算。在</p> <p>如果您必须时不时地得到总和,那么最好创建一个模型字段并在保存时增加值。在</p> <p>如果您必须更新它,那么通常在调用时获取值(第二种方法)更合适</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
9 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
7 回答
在Python3中使用Script=argv
9 回答
在python3中使用selenium webdriver进行未解析的回溯
2 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
3 回答
在Python3中使用Selenium和Requests模块从网页获取文件
10 回答
在python3中使用SIGINT终止函数
8 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
1 回答
在python3中使用smtplib发送XML内容
10 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
5 回答
在python3中使用sounddevice和numpy编写wav文件
1 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
10 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
5 回答
在python3中使用SQLite的FTS3/4
7 回答
在Python3中使用struct.calcsize()和len()有区别吗?
2 回答
在python3中使用substring函数时发生TypeError
1 回答
在Python3中使用Tkinter entry小部件写入串行设备
8 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
10 回答
在python3中使用tkinter的子帧
8 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
8 回答