【发布时间】:2016-12-05 09:50:59
【问题描述】:
我开始创建一个烧瓶应用程序,因为我需要对最近传输到本地 postgresql 数据库的一些数据进行一些可视化。
我有很多表 (33),它们都具有与当前相同类型的内容,只是用作不同类型数据的容器(尽管它们包含一个 JSON 对象,但每个表中的对象都不同)。
这些表被命名为“Table_#”(其中 # 表示定义的数字子集中的一个数字)。
models.py
我创建了以下模型:
from sqlalchemy import BigInteger, Column, JSON, Text
from app import db
class Table_1(db.Model):
__tablename__ = 'table_1'
id = db.Column(BigInteger, primary_key=True)
did = db.Column(Text)
timestamp = db.Column(BigInteger)
data = db.Column(JSON)
db_timestamp = db.Column(BigInteger)
def __repr__(self):
return '<1_Data %r>' % (self.did)
测试我是否真的可以从我的 postgresql 中获取一些数据。
__init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
from app import views, models
config.py
在我的 config.py 中,我有以下内容:
SQLALCHEMY_DATABASE_URI = "postgresql://<username>:<password>@localhost:5432/backupdata" //Ofc <username> and <password> isn't my credentials..
在我的终端(Windows cmd)中,我尝试运行以下命令:
>python
>>>from app import db, models
>>>row = models.Table_1.query.get(1)
但由于某种原因,当我尝试打印我的行时,没有任何输出。
我希望有人能知道为什么会这样?
【问题讨论】:
-
表中有没有主键为1的记录?
-
上述命令是否获取行的id?我认为这就像只获得 1 行。但如果它是行的 ID,那么这就是我的问题。我将如何获得“随机”行或随机行子集?
-
那么我肯定使用了错误的命令。谢谢你通知我。我会马上检查文档;)
标签: python postgresql flask flask-sqlalchemy