1

尝试在 Windows 上设置 Flask 和 SQLAlchemy,但我遇到了问题。

我一直在使用 Flask-SQLAlchemy 以及 PostgreSQL 9.1.4(32 位)和 Psycopg2 包。这是相关的代码,我创建了一个基本的用户模型只是为了测试我的数据库正在连接和提交。

这三位代码将来__init__.py自我的应用程序文件、models.py文件和我的settings.py文件。

当我尝试打开我的交互式提示并尝试以下链接中的代码时,我得到了 ProgrammingError 异常(链接中的详细信息)。

这可能是什么原因造成的?我遵循了文档,我只是对自己做错了什么感到困惑,特别是考虑到我还在 Windows 上使用了 Django 和 psycopg2 和 PostgreSQL。

4

3 回答 3

6

我在使用本教程Flask Mega 教程时得到了很大帮助

于 2012-06-30T19:14:59.927 回答
4

在您执行create_all时,models.py从未导入过,因此没有声明任何类。因此,create_all不会创建任何表。

要解决此问题,请models在运行前导入,create_all或者更好的是,不要将db对象与模型声明分开。

于 2012-06-26T15:04:27.387 回答
0

使用 Flask SQLAlchemy 的简单步骤:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

//employee.db database will get created in current python project

app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///employee.db'

db = SQLAlchemy(app)

class Employee(db.Model):
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(20))
    dept = db.Column(db.String(40))

要测试此代码,您需要运行 python shell

在 Python 外壳中运行:

//This is going to create table create_all() method
from one_to_many import db
db.create_all()

//This is going to insert data into table
from one_to_many import Employee
new_emp = Employee(name="Viraj",dept="IT")
db.session.add(new_emp)
db.session.commit()

//To check or retrieve data use this 
show_all_data = Employee.query.all()
for i in show_all_data:
    print(i.id,i.name,i.dept)
于 2018-11-25T15:34:14.087 回答