Внешний ключ в родительской и дочерней таблицах - PullRequest
0 голосов
/ 09 июля 2020

Я хочу добавить child_id в свою родительскую таблицу и parent_id в дочернюю таблицу

class Trigger(Base):
    __tablename__ = ('triggers')

    id = Column(Integer, primary_key=True)
    name = Column(String(100))
    display_name = Column(String)
    description = Column(String)
    instructions_id = Column(Integer, ForeignKey('instructions.id'), nullable=True)
    instructions = relationship('Instruction', foreign_keys=[instructions_id])

class Instruction(Base):
    __tablename__ = ('instructions')

    id = Column(Integer, primary_key=True)
    display_timeout = Column(Integer)
    blocks = Column(JSON)
    trigger_id = Column(Integer, ForeignKey('triggers.id'))
    triggers = relationship('Trigger', foreign_keys=[trigger_id])

Но это когда я пытался сохранить данные в таблице инструкций через таблицы триггеров:


trigger = db.session.query(Trigger).filter(Trigger.id==trigger_id).first()
           trigger.instructions.append(Instruction(**instruction))

В результате я получил ошибку: AttributeError: 'NoneType' object has no attribute 'append'.

Как сохранить новые инструкции с обновлением instruction_id в таблицах триггеров?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...