коллеги,я всех приветствую!
У меня следующая проблема - нужно создать closure структуру во Flask. Есть три таблтцы:
Task таблица
| idTask | task | descendant_id |
|:---- |:------: | -----: |
| 1 | 1+2+3 |4 |
| 2 | 6+7+8 |4 |
Category таблица
|id_c| name_category |
| -- | ------------- |
| 1 | Математика |
| 2 | Алгебра |
| 3 | Прогрессии |
| 4 | числоые ряды |
таблица Closure_table_category
| ancestor| descendant| depth |
| -- | --------- |----------- |
| 1 | 1 |0 |
| 1 | 2 |1 |
| 1 | 3 |2 |
| 1 |4 |3 |
| 2 | 2 |0 |
| 2 | 3 |1 |
| 2 | 4 |2 |
| 3 | 3 |0 |
| 3 | 4 |1 |
| 4 | 4 |0 |
Пытаюсь создать во фласке
db = SQLAlchemy(app)
migrate = Migrate(app, db)
Closure_table_category = db.Table('Closure_table_category',
db.Column('ancestor', db.Integer, db.ForeignKey('
topics.id')),
db.Column('descendant', db.Integer, db.ForeignKey('
topics.id')),
db.Column('depth', db.Integer, nullable=False)
)
class Tasks(db.Model):
tablename = 'tasks'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
task = db.Column(db.Text)
topics = db.relationship('Topics')
topics_id = db.Column(db.Integer, db.ForeignKey('
topics.id'))
class Topics(db.Model):
tablename = 'topics'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(140))
descendant = db.relationship("Tasks",
secondary=Closure_table_category,
back_populates='topics')
получаю ошибку:
sqlalchemy.exc.NoForeignKeysError
Вопрос - как грамотно создать ForeignKey?