问候 , 我试图在Flask-SQLAlchemy中创build一个多对多的关系,但似乎我不知道如何填充“多对多标识符数据库” 。 你能帮我理解我做错了什么,应该怎么看? class User(db.Model): __tablename__ = 'users' user_id = db.Column(db.Integer, primary_key=True) user_fistName = db.Column(db.String(64)) user_lastName = db.Column(db.String(64)) user_email = db.Column(db.String(128), unique=True) class Class(db.Model): __tablename__ = 'classes' class_id = db.Column(db.Integer, primary_key=True) class_name = db.Column(db.String(128), unique=True) 然后我的标识符数据库: student_identifier = db.Table('student_identifier', db.Column('class_id', db.Integer, db.ForeignKey('classes.class_id')), db.Column('user_id', db.Integer, db.ForeignKey('users.user_id')) ) 到目前为止,当我尝试将数据插入数据库时,它看起来像这样。 # User user1 = User( user_fistName='John', […]
我是烧瓶和sqlalchemy的新手,我刚刚开始烧瓶应用程序,现在我正在使用sqlalchemy。 我想知道使用flask-sqlalchemy vs sqlalchemy是否有什么好处。 我找不到足够的动机在http://packages.python.org/Flask-SQLAlchemy/index.html或者我不明白的价值! 我希望你的澄清。
这个话题在这里或其他地方还没有得到解决。 有没有解决scheme将SQLAlchemy <Query object>转换为pandasDataFrame? pandas有能力使用pandas.read_sql但这需要使用原始的SQL。 我有两个原因希望避免它:1)我已经拥有了一切使用ORM(本身是一个很好的理由)和2)我使用Python列表作为查询的一部分(例如: .db.session.query(Item).filter(Item.symbol.in_(add_symbols)其中Item是我的模型类, add_symbols是一个列表)。这是SQL SELECT … from … WHERE … IN的等价物。 有什么可能吗?
我已经有一个现有的数据库,在MySQL中有很多的表和大量的数据。 我打算创build一个Flask应用程序并使用sqlalchemy。 现在我问了一下irc,在google上四处看了一下,并尝试了下面的想法: 首先,我使用sqlacodegen从我的DB生成模型。 但是当时我对此有些困惑,而且看上去更多一些。 我发现这一点 。 这看起来像一个优雅的解决scheme 第二 ,我根据那里的解决scheme重写了我的models.py ,现在我更加困惑了。 我正在寻找与现有的数据库一起构build这个应用程序的最佳方法。 我看了烧瓶文件,但没有真正得到任何帮助已经存在的数据库的项目。 有很多好东西从头开始创build一些东西,创build数据库和所有。 但是我很困惑。 请注意,这是我第一次使用Flask ,但是我有Django经验,所以基本的概念并不是一个障碍。 我需要一些指导,为这个用例select最好的方法。 详细的解释将不胜感激。 通过详细我绝对不会指望有人写所有的代码和勺子喂我,但只是让我开始,这是通过sqlalchemy将这个数据库无缝地集成到flask 。 注意我的数据库是在MySQL 。
我有我的MySql数据库中的users表。 这张表有id , name和age段。 我怎样才能通过id删除一些logging? 现在我使用下面的代码: user = User.query.get(id) db.session.delete(user) db.session.commit() 但是我不想在删除操作之前做任何查询。 有没有办法做到这一点? 我知道,我可以使用db.engine.execute("delete from users where id=…") ,但我想使用delete()方法。 谢谢!
如何使用模型在我的查询中指定所需的列。 (它默认select所有列)我知道如何使用sqlalchmey会话来做到这一点: session.query(self.col1)但我怎么处理模型。 我不能做SomeModel.query() ,有没有办法?
假设表有三列: username , password和no_of_logins 。 当用户尝试login时查询类似查询的条目 user=User.query.filter_by(username=form.username.data).first() 如果密码匹配,他继续进行。 我想要做的是统计用户login多less次。因此,当他成功logging日志时,我想增加no_of_logins字段并将其存回用户表。 我不知道如何使用SqlAlchemy运行更新查询。
每次运行使用Flask-SQLAlchemy的应用程序时,都会收到以下警告,说明SQLALCHEMY_TRACK_MODIFICATIONS选项将被禁用。 /home/david/.virtualenvs/flask-sqlalchemy/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') 我试图找出这个选项的作用,但是Flask-SQLAlchemy文档并不清楚使用这个跟踪的是什么。 SQLALCHEMY_TRACK_MODIFICATIONS 如果设置为True(默认),Flask-SQLAlchemy将跟踪对象的修改并发出信号。 这需要额外的内存,如果不需要,可以禁用。 如何知道我的项目是否需要SQLALCHEMY_TRACK_MODIFICATIONS = True或者如果我可以安全地禁用此function并将内存保存在我的服务器上?