繁体   English   中英

flask_sqlalchemy 与 Oracle

[英]flask_sqlalchemy with Oracle

我正在构建一个 web 应用程序,并使用 Oracle 数据库和 flask ZF3D3864DFEEEB60663DZ061。 使用下面的代码连接成功,但是当我运行代码时,我收到警告

SAWarning:class 上的属性“CATEGORY”似乎是非模式“sqlalchemy.sql.column()”object; 这不会是声明性映射的一部分

我的代码正在运行,我能够运行 html,但我觉得它的模式名称在我的连接中丢失。 下面是我的代码。 (我没有提到凭据和主机名)是否有人知道需要在哪里声明架构,或者是否有人可以帮助解决警告。

下面是我创建的代码。

 '''from flask import Flask, render_template, request
 from flask_sqlalchemy import SQLAlchemy
 from datetime import date, datetime
 from sqlalchemy import create_engine


app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']= 'oracle://username:password@host:port/sid'
db = SQLAlchemy(app) 


class Master_dates(db.Model):
    DATA_DATE = db.Column(db.Integer, primary_key=True)
    LOCATN = db.Column(db.String(80))
    CATEGORY = db.column(db.String(120))


@app.route("/")
def home():
    return render_template('index.html') '''

使用 sqlalchemy 我得到了与以下代码相同的错误

class users(db.Model):
    _id=db.Column("id", db.Integer, primary_key=True)
    name=db.Column(db.String(100))
    address=db.Column(db.String(100))
    neighborhood=db.Column(db.String(100))
    city=db.Column(db.String(100))
    phone=db.Column(db.String(100))
    document=db.Column(db.String(100))
    passwoord=db.Column(db.String(100))
    verifyPass=db.Column(db.String(100))
    rol=db.Column(db.String(100))`

当我向它添加构造函数时,它在同一个 class(在你的情况下将是 Master_dates(db.Model))内部得到修复。 像这样:

def __init__(self, name, address, neighborhood, city, phone, document, passwoord, rol):
    self.name=name
    self.address=address
    self.neighborhood=neighborhood
    self.city=city
    self.phone=phone
    self.document=document
    self.passwoord=passwoord
    self.rol=rol

您可以尝试在您的 Master_dates(db.Model) class 上添加这段代码

def __init__(self, DATA_DATE, LOCATN, CATEGORY):
    self.DATA_DATE=DATA_DATE
    self.LOCATN=LOCATN
    self.CATEGORY=CATEGORY

我希望不要太晚到达这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM