Невозможно импортировать модель класса в базу данных SQLAlchemy из оболочки Python - PullRequest
0 голосов
/ 22 октября 2019

Моя проблема в том, что у меня нет возможности добавлять пользователей через оболочку python. Затем я добавляю пользователей, если импортирую класс Admin из приложения, но у меня появляется ошибка 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}')"

в init .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 / ru / 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

...