当前位置:   article > 正文

tortois-orm 批量插入_tortoise orm 插入字典

tortoise orm 插入字典

Tortoise-ORM提供了bulk_create()方法,可以用于在单个数据库查询中批量插入多条数据。

下面是一个使用bulk_create()方法批量插入商品信息到goods表中的示例:

  1. from tortoise import fields
  2. from tortoise.contrib.fastapi import register_tortoise
  3. from tortoise.models import Model
  4. from tortoise import Tortoise
  5. class Goods(Model):
  6. id = fields.IntField(pk=True)
  7. name = fields.CharField(max_length=50)
  8. price = fields.FloatField()
  9. async def insert_goods(goods_data):
  10. goods = [Goods(**data) for data in goods_data]
  11. await Goods.bulk_create(goods)
  12. if __name__ == '__main__':
  13. Tortoise.init_models(["app.models"], "models")
  14. register_tortoise(
  15. app=None,
  16. db_url="sqlite://db.sqlite3",
  17. modules={"models": ["app.models"]},
  18. generate_schemas=True,
  19. )
  20. goods_data = [
  21. {"name": "商品1", "price": 100.0},
  22. {"name": "商品2", "price": 200.0},
  23. {"name": "商品3", "price": 300.0},
  24. ]
  25. await insert_goods(goods_data)

这个示例中,bulk_create方法接收一个列表参数,包含要批量插入的多条数据,并使用**操作符将数据解包传递给Goods模型进行创建。通过这种方式,可以在单个数据库查询中批量插入多条数据,提高了插入数据的效率。

如果您需要插入的数据量非常大,可以将数据分成多个小批次批量插入,这样能够降低内存使用,提高程序的稳定性和响应速度。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/137003
推荐阅读
相关标签
  

闽ICP备14008679号