Sqlalchemy: Tabelle Vereinigung für viele-zu-viele-Beziehung zwischen den Gruppen und Mitgliedern. Wie kann ich eine Beziehung löschen?

stimmen
2

Ich habe diese Tabellen Setup: http://pastie.org/627764

...    
    # This is the association table for the many-to-many relationship between
    # groups and members - this is, the memberships.
    user_group_table = Table('user_group', metadata,
        Column('user_name', Integer, ForeignKey('user.user_name',
            onupdate=CASCADE, ondelete=CASCADE)),
        Column('group_name', Integer, ForeignKey('group.group_name',
            onupdate=CASCADE, ondelete=CASCADE))
    )

    class Group(DeclarativeBase):

        __tablename__ = 'group'

        group_name = Column(Unicode(16), primary_key=True)

        users = relation('User', secondary=user_group_table, backref='groups')
...

Ich versuche, die Beziehung zwischen einem Benutzer und einen seiner Gruppe zu löschen, aber ich kann mit einer Abfrage nicht wirklich kommen, die es tut. Jede Art und Weise, dies mit sqlalchemy zu tun?

Vielen Dank für Ihre Zeit.

Veröffentlicht am 23/09/2009 um 19:31
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
3

Sie meinen, Sie einen Benutzer aus einer Gruppe entfernen?

# fetch the mapped classes
group = Session.query(Group).some_filters().one()
user = Session.query(User).some_filters().one()

# group.users is a list of all users in this group
# remove one and it will be removed from the DB
group.users.remove( user )
Session.commit()
Beantwortet am 23/09/2009 um 19:41
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more