我正在努力构建一个Web应用程序,并在烧瓶sqlalchemy中使用Oracle数据库。我的以下代码连接成功,但是当我运行代码时,我得到警告
SAWarning:类上的属性“ CATEGORY”似乎是一个非模式的“ sqlalchemy.sql.column()”对象;这不会成为声明性映射的一部分
我的代码正在运行,并且能够运行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') '''
答案 0 :(得分:0)
使用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))`
当我向其添加构造函数时,在同一个类内(在您的情况下为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)类中
def __init__(self, DATA_DATE, LOCATN, CATEGORY):
self.DATA_DATE=DATA_DATE
self.LOCATN=LOCATN
self.CATEGORY=CATEGORY
我希望不要太晚在这里伸出手