- 博客(4)
- 收藏
- 关注
原创 防止在SerializerMethodField中重复查询
在 Django 中使用序列化器时遇到一个问题,两个变量使用同一个函数两次来返回参数,为了优化这个问题。我采用了 Django 中的方法 cached_property 来缓存值,避免重复计算但这样也带来另一个问题,当序列化多个对象时,GoodsSerializer(goods_list, many=True).data由于序列化第一个值的时候,被 cached_property 修饰的值已经存在序列后器对象中,之后的模型对象在序列化时使用的仍然时之前的值。所以我们中遍历我们被 cache
2020-07-01 10:09:57
360
原创 celery执行延时任务
由于项目需求,需要在指定时间之后执行异步任务给用户推送消息,由于之前只用过celery的定时任务,在查阅一番资料之后,发现有官方文档中是有相关说明的。T.delay(arg, kwargs=value)是常见的用来执行celery异步任务的命令。而还有另一个命令是不常用的T.apply_async((arg,), {'kwarg': value}, countdown=60, expir...
2019-11-25 17:01:24
1947
1
原创 Django项目中修改mysql主键类型varchar为int
之前的数据库设计的时候考虑不周全,将用户ID存成字符串,但实际的值是一个8位数字,现在想将其转成int类型,但涉及的外键比较多,查看了许多资料发现了用django快速生成转换用户ID类型的sql语句方法修改模型类中CircleUser中user_id字段类型user_id = models.AutoField(primary_key=True)使用django命令生成迁移文件 (...
2019-11-05 23:55:45
1207
原创 关于python3下使用torndb操作数据库报错的问题
Tornado3.0版本以前提供通过tornado.database操作MySQL数据库,而从3.0版本开始,该模块被独立出来,作为一个独立的模块torndb包进行处理。 由于连接MySQL最常用的是MySQLdb,所以官方只针对MySQLdb进行了简单的封装,并不支持Python3。如果是python3.3以下可以参考这篇文章 所以当我们在Python3下使用torndb操作数据库的时候会...
2019-10-16 14:46:58
615
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人