Python sqlalchemy: невозможно получить доступ к новым созданным дочерним элементам родителем перед фиксациейPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python sqlalchemy: невозможно получить доступ к новым созданным дочерним элементам родителем перед фиксацией

Сообщение Anonymous »

У меня есть связь «один ко многим» между двумя моделями (родительской и дочерней)
и я хочу получить доступ к новым созданным дочерним объектам с помощью родительского объекта перед фиксацией

Код: Выделить всё

   class Parent(Base):
__tablename__ = 'parent'
id = Column('id', bigint, primary_key=True)

class Child(Base):
__tablename__ = 'child'
id = Column(bigint, primary_key=True)
name = Column(TEXT, nullable=False)
parent_id = Column(Integer, ForeignKey('parent.id', onupdate='cascade', ondelete='cascade'))
parent = relationship("Parent", backref="children")
Я создал новые дочерние объекты по родительскому_иду (который существует в сеансе) и добавил их с помощью Bulk_save_objects

Код: Выделить всё

    new_children = [
Child(parent_id=parent_obj.id, name=child_name)
for child_name in children_names
]
db_session.bulk_save_objects(new_children)
Я пытался получить доступ к новым дочерним элементам по родителю до db_session.commit()

Код: Выделить всё

parent_obj.children
результатом является пустой список, поскольку новые дочерние элементы не связаны с родительским.
Мой вопрос: как лучше получить доступ к новым созданным дочерние элементы от родителя, перед фиксацией?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ore-commit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»