无法从 shell python 导入数据库 SQLA lchemy 中的类模型



我的问题是我不可能通过python shell添加用户。然后,如果我从应用程序导入类管理员,我会添加用户,但我收到错误NameError: name 'Admin' is not defined.

在 models.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import Table, Column, Integer, ForeignKey, DateTime
from sqlalchemy.orm import relationship
class Admin (db.Model):
idAdmin = db.Column(db.Integer, primary_key=True)
login = db.Column(db.String(255))
password = db.Column(db.String(255))
pin = db.Column(db.Integer)
name = db.Column(db.String(255))
surname = db.Column(db.String(255))
def __repr__(self):
return f"Admin('{self.name}','{self.surname}')"

初始化中.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from model import db
from flask_wtf.csrf import CSRFProtect
import os
app = Flask(__name__)
file_path = os.path.abspath(os.getcwd()) + "database.db"
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + file_path
db = SQLAlchemy()
db.create_all()

文件夹

aplication
|
|-----app
|     |
|     |---static
|     |   |...      
|     |
|     |---templates
|     |   |...
|     |
|     |---__init__.py
|     |
|     |---forms.py
|     |
|     |---models.py
|     |
|     |---views.py
|
|-----run-test.py
|
|-----run.py
|
|-----start.sh

据 https://flask-sqlalchemy.palletsprojects.com/en/2.x/quickstart/我必须考虑:

  1. >>> from app import db
  2. >>> db.create_all()
  3. >>> from app import Admin
  4. >>> admin = Admin(username='John', password='1qaz@WSX', pin='1234', name='John', surname='Trump')
  5. >>> db.session.add(admin)
  6. >>> db.session.commit()

输入命令后>>> admin = Admin(username='John', password='1qaz@WSX', pin='1234', name='John', surname='Trump')我收到错误NameError: name 'Admin' is not defined

看起来你的导入应该是

from app.models import Admin

最新更新