gpt4 book ai didi

python - 用数据库查询中的行填充类属性的最有效方法是什么?

转载 作者:行者123 更新时间:2023-11-28 20:54:08 24 4
gpt4 key购买 nike

希望通过数据库查询设置类中的所有实例变量:

例子:

def populate(self, if):
#Perform mysql query

self._name = row['name']
self._email = row['email']
...

最快的方法是什么?或者不推荐这样做(有更好的方法)?

最佳答案

  • 像这样手动执行代码会使您的代码最具可读性和可预测性。这样您就可以很容易地准确知道哪些属性存在,哪些属性不存在。

  • 您可以使用 setattr 来自动执行这些操作。

    一个相当不错的方法是定义一个列表 attributes = ['name', 'email'...] 作为类属性然后做

    for name in self.attributes:
    setattr(self, "_" + name, row[name])

    您还可以从查询本身获取属性,但这会根据您的查询(特别是如果您使用 SELECT * 或类似的东西)和您更改数据库而改变。

  • 我注意到这些属性都有前导下划线。如果这纯粹是内部的事情,请考虑一个属性而不是查询结果本身或存储一个 dict 是否更适合您的需要。通常,属性应该是相当静态的东西。

  • 我听说 oursql 比 MySQLdb 好

关于python - 用数据库查询中的行填充类属性的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2542887/

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