Ответ 1
use_alter - передается базовому указателю ForeignKeyConstraint, чтобы указать, что ограничение должно быть сгенерировано/удалено извне из инструкции CREATE TABLE/DROP TABLE. Подробнее см. Конструктор классов.
У меня есть две таблицы, News
и Files
:
# unrelated columns removed
class News(db.Model):
id = db.Column(db.Integer, primary_key=True)
file_id_logo = db.Column(db.Integer, db.ForeignKey('files.id'))
logo = db.relationship('File', lazy=False)
class File(db.Model):
id = db.Column(db.Integer, primary_key=True)
news_id = db.Column(db.Integer, db.ForeignKey('news.id'))
news = db.relationship('News', lazy=False, backref=db.backref('files'))
После добавления file_id_logo
fkey SQLalchemy поднял CircularDependencyError.
Я уже пробовал post_update=True
в отношении logo
, но ничего не изменил.
Какой правильный способ решить эту проблему?
Возможны следующие случаи (в случае, если это имеет значение):
logo
.logo
, ссылка на файл также имеет эту новость как News
.use_alter - передается базовому указателю ForeignKeyConstraint, чтобы указать, что ограничение должно быть сгенерировано/удалено извне из инструкции CREATE TABLE/DROP TABLE. Подробнее см. Конструктор классов.