【问题标题】:flask_sqlalchemy with Oracleflask_sqlalchemy 与 Oracle
【发布时间】:2020-01-25 16:16:27
【问题描述】:

我正在努力构建一个 Web 应用程序,并将 Oracle 数据库与 flask sqlalchemy 一起使用。使用下面的代码连接成功,但是当我运行代码时,我收到警告

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') '''

【问题讨论】:

  • C 列,大写 C 而不是 c 列。相关:stackoverflow.com/questions/58069745/…
  • @llja Everlia.. 谢谢.. 这解决了警告问题。您还可以在架构部分提供帮助吗?我正在使用 Oracle 数据库,有点困惑我应该在哪里提供模式来引导表名。

标签: python html oracle sqlalchemy


【解决方案1】:

使用 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

希望不要太晚联系到这里

【讨论】:

    猜你喜欢
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2020-08-05
    相关资源
    最近更新 更多