我目前正在从事一个涉及框架、烧瓶和sqlalchemy的项目。基本思想是有一个票务系统,有不同类型的票可用。
我的代码的一个简化版本可以在这里找到: (通过python app.py运行)。
该设置涉及一组模型,它们是:
基类:所有模型的基类,基本上只是定义了一个id和表名
- TimestampMixin: A mixin for adding timestamps to models, like creation or update timestamps
- Ticket: The main cause of trouble I am currently having. An
我是postgresql中的自动生成表,使用列表中的名称使用sqlacodegen自动生成模型。
有些名字是非ascii字符。对于名称aussieBabe,它创建了一个表aussieBabe_index,sqlAlchemy模型为aussieBabeIndex。但是,当我试图导入这些模型以进行查询时,我会得到以下错误。
line 147
class aussieBabeIndex(Base):
^
SyntaxError: invalid character in identifier
我假设可以通过在创建表或限制类名之前删除
我一定是个白痴,因为我不知道如何让SQLAlchemy执行一个简单的、非懒惰的内部连接。换句话说,在一个查询中返回所有结果。
我想要运行的原始SQL查询是:
select
city.population,
state.name
from
city c inner join state s
on c.state_id = s.id
我使用的SQLAlchemy语句是:
session.query(City.population, State.name).all()
City和State模型已经定义了关系,SQLAlchemy语句返回正确的值。但是它要花费很长时间,因为它正在
在SQLAlchemy中构建数据库后,我希望获得所有模型,也就是表示它们的类
>>> db
<SQLAlchemy engine='postgresql:///example'>
>>> ???
[<db.Model 'User'>, <db.Model 'Comment'>, <db.Model 'Article'>]
这是否可以做到呢?多么?
我可以很好地拿到桌子,但不能拿到模型。例如:
>>> for t in db.met
假设我在我的烧瓶应用程序中有这样一个模型:
class Foo(db.Model):
id = db.Column(db.Integer, primary_key=True)
bar = db.Column(db.String)
在Flask视图中,我想查询我的数据库以检索这种类型的记录。
在教程中,我看到人们以两种方式运行这样的查询:使用flask.ext.sqlalchemy.SQLAlchemy配置或模型。
使用flask.ext.sqlalchemy.SQLAlchemy
应用程序是这样设置的.
from flask import Flask
from flask.
我正在尝试使用Flask-SQLAclchemy和Postgres为用户类模型创建一个数据库表。
我的模型类.
from app import db
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(70), index=True, nullable=False)
email = db.Column(db.String(70), index=True, u
我首先使用数据库,我有一个switch语句,如下所示:
switch (site)
{
case Site.One:
using (OneContext one = new OneContext())
return one.OrganizationObjects.SingleOrDefault(x => x.u_Name == orgName)?.g_org_id;
case Site.Two:
using (TwoContext two = new TwoContext())
return
我想连接到一个预先存在的postgres数据库,它在我的应用程序中没有与它相关的模型。不出所料,这可能是我第一次尝试使用Python和Flask时添加的麻烦。
app/py代码是:
import os
from flask import Flask
from flask import render_template
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative i
在我看来,MetaData.reflect()和sqlalchemy.ext.automap.prepare()表应该能够在许多用例中交替使用,但它们不能。
metadata.tables['mytable'] into conn.execute(select(...))返回一个sqlalchemy.engine.cursor.CursorResult,迭代器直接获取列(例如x.columnA)。
但是,automap_base().classes.mytable在同一个conn.execute(select(...))中返回一个sqlalchemy.engine.result
我刚接触过水瓶-SQLAlchemy,还想玩。
使用下面的代码(app.py),我想为“创建”用户和“邀请”用户创建游戏模型:
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
basedir = os.path.abspath(os.path.dirname(__file__))
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or
我对FastAPI和SqlAlchemy在PostgreSQL中的使用都很陌生。我一直在努力创建一些模型,这些模型一开始就很不错。
class Parent(Base):
__tablename__ = "parents"
uid = Column(Integer, primary_key=True)
children = relationship("Child", back_populates="parent")
class Child(Base):
__tablename__ = "children"
u
我对金字塔和SQLAlchemy都是新手。我正在与SQLAlchemy合作开发一个Python金字塔项目。我在下面设置了一个简单的模型。如何在运行时将其与不同的模式一起使用呢?这将是一个PostgreSQL数据库后端。现在,"public“被硬编码到声明性基础模型中。我需要使用不同模式的相同模型的能力。最好的方法是什么?除非我错过了,否则SQLAlchemy的文档对我来说似乎不清楚。
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, BigInte
我的数据库中有两个表- Category和Department,它们都包含相同的列- ID、Name和Code。
我可以使用Visual Studio2008设计器创建一个新的实体模型,并添加Department,它工作得很好-我可以使用LINQ查询数据库,一切都很好。
当我更新模型并添加Category表时,当我尝试编译时,生成的代码抛出以下错误。
The type 'DBContexts.Category' already contains a definition for 'ID'
The type 'DBContexts.Category'
短的
我在一个烧瓶应用程序中有可重用的SQLAlchemy查询,但我不知道把它们放在哪里最好。
更长
在阅读时,非常清楚如何创建基本的SQLAlchemy模型,例如这个表示博客文章的模型:
class Blog(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.Text())
body = db.Column(db.Text())
date = db.Column(db.Date())
以及如何执行查询,例如按日期获取博客文章:
Blog.query.ord
在我的init_app()应用程序中,我使用的是烧瓶-SQLAlchemy和init init_app(),如下所示:
in config file :
SQLALCHEMY_DATABASE_URI = 'sqlite:///example.db'
---------------------
in extension file :
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy()
---------------------
in application file:
#in my app
我有一个简单的类,它访问一个表来存储运行时。然而,当我试图导入类时,我会得到以下错误。
AttributeError: '_ModuleMarker' object has no attribute 'add_item'
我已经能够确定这与设置表名和列有关,因为我有另外两个类访问两个不同的表,它在那里工作得很好。我基本上复制了两个原始类的代码,所以我不知道为什么它不能工作。
有什么方法可以产生更有用的错误代码吗?
RunTimes类
from sqlalchemy import Column
from sqlalchemy import String
from