Удаление объекта из коллекции в SQLAlchemy

Я храню пачку патентных данных в базе данных MySQL и взаимодействую с ней через SQLAlchemy. У меня есть коллекция внутри класса Patent, представляющая список правопреемников (компаний, которым был выдан патент):

<code>assignees = relationship('Company', secondary=patent_company_table, backref='patents')
</code>

Я обрабатываю некоторые объекты, хранящиеся в базе данных и для объекта Патентаp, Я хочу удалить правопреемникаa (объект компании) изpписок правопреемников @. Основано наhttp: //docs.sqlalchemy.org/en/latest/orm/session.html#deleting-from-collection кажется, что зоветs.delete(a) фактически удалит объект Companya. Я просто хочу удалить цессионарияa из списка правопреемниковp (то есть удалить строку вatent_company_table), НЕ фактически удалять объект Company, потому чтоa может быть в списке правопреемников другого объекта Патента.

Я пытался создать новый списокnew_assignees, который включает только получателей изp Кромеa а затем позвонил:

<code>p.assignees = new_assignees
s.add(p)
</code>

Это, к сожалению, на самом деле не помечаетp как грязный, поэтому я предполагаю, что это не повлияет на базу данных.

Есть ли у вас какие-либо предложения о том, как удалить объект из коллекции, удалив строку из таблицыatent_company_table вместо удаления объекта из таблицы Company?

Спасибо

ОБНОВИТ

Вот фрагмент кода:

<code>assignees = patent.assignees
for assignee in assignees:
    if assignee in duplicate_company_to_default:
        patent.assignees.remove(assignee)
        default_company = duplicate_company_to_default[assignee]
        if default_company not in assignees:
            added_patent_count += 1
            patent.assignees.append(default_company)
</code>

После прохождения всех патентов,added_patent_count = 983672 но в @ нет объектsession.dirty(). Нужно ли добавлять вручную в сеанс после изменения черезappend илиremove?

Ответы на вопрос(2)

Ваш ответ на вопрос