我试图创建一个PyQt应用程序,并将数据存储到数据库中.我想使用sqlachemy来访问我的数据并使用PyQt中的模型显示数据.
在这个例子中,我用一个组合框来显示我的数据.
我的代码"工作"不好,因为每次点击我的组合框时,模型都会检查数据库数千次,这使得它非常迟钝.
这样做的"规范方法"是什么?
我在Windows下使用Python 3.4和PyQt 4.我在Python-Sqlalchemy-PyQt-english中的技巧非常低.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
from PyQt4 import QtCore, QtGui, uic
# My base structure
base = declarative_base()
class User(base):
__tablename__ = "users"
id_ = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
name = sqlalchemy.Column(sqlalchemy.String(20))
def __repr__(self):
return "<User(id='%s', name='%s')>" % (self.id_, self.name)
# Creating my base and my session
engine = sqlalchemy.create_engine("sqlite:///my_db.db")
base.metadata.create_all(engine)
DBsession = sqlalchemy.orm.sessionmaker(bind=engine)
session = DBsession()
# My model, i …Run Code Online (Sandbox Code Playgroud)