Hi.
I think that I'm doing somethig wrong, but I can't get delete-orphah
work... No DELETES on static_page_urls are performed...
2011-11-12 12:31:14 EET LOG: statement: BEGIN
2011-11-12 12:31:14 EET LOG: statement: DELETE FROM static_pages WHERE
static_pages.id = 1
2011-11-12 12:31:14 EET ERROR: update or delete on table "static_pages"
violates foreign key constraint "static_page_urls_page_id_fkey" on table
"static_page_urls"
2011-11-12 12:31:14 EET DETAIL: Key (id)=(1) is still referenced from
table "static_page_urls".
2011-11-12 12:31:14 EET STATEMENT: DELETE FROM static_pages WHERE
static_pages.id = 1
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, ForeignKey
from sqlalchemy import Integer, Unicode, UnicodeText
from sqlalchemy.orm import relationship
engine =
create_engine('postgresql+psycopg2://USER:[email protected]:5432/test',
echo=True)
Session = sessionmaker()
Base = declarative_base()
Session.configure(bind=engine)
Base.metadata.bind = engine
class StaticPageUrl(Base):
__tablename__ = 'static_page_urls'
id = Column(Integer, primary_key=True)
title = Column(Unicode(255), nullable=False)
url = Column(UnicodeText, nullable=False)
page_id = Column(Integer, ForeignKey('static_pages.id'), nullable=False)
class StaticPage(Base):
__tablename__ = 'static_pages'
id = Column(Integer, primary_key=True)
title = Column(Unicode(255), nullable=False)
urls = relationship(StaticPageUrl, cascade="all, delete, delete-orphan")
Base.metadata.create_all(engine)
session = Session()
p = StaticPage(title='test page')
p.urls.append(StaticPageUrl(title='testurl', url='www.url.org'))
session.add(p)
session.flush()
session.commit()
session.close()
session = Session()
user = session.query(StaticPage).filter_by(id=1).delete()
session.add(report)
session.flush()
session.commit()
session.close()
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/sqlalchemy/-/DOaTfEuV_bYJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.