Интересно, что при использовании отношений родитель-ребенок можно добавить только новые дочерние объекты в базу данных. То есть, когда вы добавляете родителя, каскад должен автоматически добавлять только те (новые) дети, которые сейчас не находятся в Базе данных, то есть постоянны. Можете ли вы переопределить дочерний add-метод, чтобы проверить это условие, или существует ли какое-либо совместное решение для этого?Добавление только новых объектов с каскадом?
1
A
ответ
3
Для добавления объекта необходимо использовать Events
. Просто создайте один слушатель для добавления события или создайте событие и отследите свои данные. Вы можете отфильтровать дату на этих основаниях.
Вы можете использовать код, подобный
from sqlalchemy import event
def child_append_listener(target, value, initiator):
print "received append event for target: %s" % target
event.listen(Parent.children, 'append', child_append_listener)