İşte örnek kodum. Temsilcinin en fazla bir kampanyası var.
from sqlalchemy.orm.session import make_transient
def clone_agent(id):
s = app.db.session
agent = s.query(Agent).get(id)
c = None
# you need get child before expunge agent, otherwise the children will be empty
if agent.campaigns:
c = agent.campaigns[0]
s.expunge(c)
make_transient(c)
c.id = None
s.expunge(agent)
agent.id = None
# I have unique constraint on the following column.
agent.name = agent.name + '_clone'
agent.externalId = - agent.externalId # find a number that not in db.
make_transient(agent)
s.add(agent)
s.commit() # commit so the agent will save to database and get an id
if c:
assert agent.id
c.agent_id = agent.id # attatch child to parent. agent_id is a foreign key
s.add(c)
s.commit()
'Graf Walking'i nasıl uyguladınız? yapıştırabileceğiniz örnek kod var mı? Şerefe. (Çok sayıda alt satır içeren, her biri daha fazla satır içeren, üst satırdaki bir üst sırasım var ve bir tabloda üst satırın bir klonunu yapmak istiyorum ve ayrıca tüm ilgili satırları otomatik olarak çocuk ve büyük çocukta klonlamak istiyorum. tablolar.) – Soferio
Bu eski tartışmayı yeni buldum ve sanırım bunu cevaplıyor. El ile yapılmalıdır: https://groups.google.com/forum/#!topic/sqlalchemy/wb2M_oYkQdY – Soferio
Evet, kapsayıcıları yineleyin ve ilişkileri el ile takip edin. –