Требуется помощь ... Я вроде понял, что это плохой стиль - определять реляционную "вспомогательную" таблицу как класс, но хочу использовать ее для хранения некоторой информации, которая там находится иполучить доступ к нему удобно, что я делаю не так?Когда я настраиваю его как таблицу, у меня не возникает проблем ...
Спасибо!
from alexa import db
# Relation tables
class Todos(db.Model):
_tablename_ = 'todos'
id = db.Column(db.Integer, primary_key=True)
order_id = db.Column(db.Integer,
db.ForeignKey("order.id"))
sequence = db.Column(db.Integer)
step_id = db.Column(db.Integer,
db.ForeignKey("step.id"))
orders = db.relationship("Order",
backref=db.backref("todos",
cascade="all, delete-orphan"))
steps = db.relationship("Step",
backref=db.backref("todos",
cascade="all, delete-orphan"))
# Actual tables
class Vehicle(db.Model):
id = db.Column(db.String(20), primary_key=True)
customer_number = db.Column(db.Integer, unique=True, nullable=False)
orders = db.relationship("Order", backref="order_vehicle")
class Order(db.Model):
_tablename_ = 'order'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(200), unique=False, nullable=False)
status_id = db.Column(db.Integer, db.ForeignKey("status.id"))
vehicle_id = db.Column(db.Integer, db.ForeignKey("vehicle.id"))
class Step(db.Model):
_tablename_ = 'step'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(200), unique=False, nullable=False)
description = db.Column(db.String(200), unique=False, nullable=False)
status_id = db.Column(db.Integer, db.ForeignKey("status.id"))
comment_id = db.Column(db.Integer, db.ForeignKey("comment.id"))
class Status(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(200), unique=False, nullable=False)
steps = db.relationship("Step", backref="step")
orders = db.relationship("Order", backref="order_status")
class Comment(db.Model):
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.String(2000), unique=False, nullable=False)
step = db.relationship("Step", backref="step_comment")
Моя ошибка:
File "C:\Anaconda3\lib\site-packages\sqlalchemy\engine\default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: order
...
context)
File "C:\Anaconda3\lib\site-packages\sqlalchemy\engine\default.py", line 507, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: order [SQL: 'SELECT "order".id AS order_id, "order".title AS order_title, "order".status_id AS order_status_id, "order".vehicle_id AS order_vehicle_id \nFROM "order" \nWHERE "order".id = ?\n LIMIT ? OFFSET ?'] [parameters: ('1', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)