【发布时间】:2016-08-10 09:28:15
【问题描述】:
在我的 python 应用程序中,我运行一个查询,它从我的产品表中返回一个 product。当我得到结果并将其分配到变量中时,它存储在 list 中。但我想创建一个产品类,并希望将查询结果存储在与我的数据库表匹配的产品类对象中。
但我不想这样做,即从列表中逐个获取值并设置对象变量等等。
我想这样做是因为我的数据库表很大并且列表不存储变量的字段名称。它就像以下一样;所以我不能使用这样的东西; getProductName()
[5,"strawberry",011023234,10.5]
所以我应该记住我的产品条形码在需要时存储在哪个位置。
从数据库中检索数据;
vt = sqlite3.connect("vt.sqlite")
im = vt.cursor()
im.execute("SELECT * FROM Products WHERE barcode='{}'".format(barcode))
veriler = im.fetchall()
这里是veriler = [5,"starberry",001]。
我的数据库表会很大。那么我的验证器将是一个很长的列表。
当我想获取检索数据的某些属性时,我必须像 veriler[0]、veriler[25] 等访问它。我应该记住每个属性的索引。
如果我的产品类在我的数据库表中具有所有属性并创建一个产品对象,并且当我将数据库结果分配给我的产品对象时,我已经在产品对象中设置了所有属性并且可以访问我的产品的属性,是否有可能?使用 get 方法的对象。
提前致谢。
【问题讨论】:
-
请包含您用于从数据库中检索数据的代码。您能否更准确地了解预期结果是什么?
-
听起来你可能想要ORM。
-
这真的很好,但似乎 ORM 比我想要的要多。我只需要将结果简单地转换为对象。
-
一般来说,为了这样的目的,我推荐使用 ORM。最受欢迎的是 SQLAlchemy,但如果你需要一些小而易于使用的东西,你可以考虑 peewee。当您需要在 python 中使用数据库时,它非常有用。
标签: python database sqlite python-3.x