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:PASSWORD@127.0.0.1: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 sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.