Hello,
I have a system to manage users in my application, but I'm getting
some troubles with it.
Every user has to belong to a group of users. One user can only be in
one group.
I have those tables (inheriting from rdb.Model is basically the same
thing than using sqlalchemy's declarative model)
class User(rdb.Model):
"""Represents the user"""
rdb.metadata(metadata)
rdb.tablename("users")
id = Column("id", Integer, primary_key=True)
name = Column("name", String(50))
....
userGroup = relationship("UserGroup", uselist=False)
.....
class UserGroup(rdb.Model):
"""Represents a group of users with the same features"""
rdb.metadata(metadata)
rdb.tablename("user_groups")
id = Column("id", Integer, primary_key=True)
title = Column("title", String(50))
users = relationship("User", order_by="User.name", cascade="all,
delete, delete-orphan", backref="user_groups")
....
I have a script which migrate users from a pre-existing Zope DB
(object-oriented):
def migrateUsers():
"""Migrate all the users to the database"""
session = rdb.Session()
rScreens = session.query(Screen).all()
rUserGroups = session.query(UserGroup).all()
.....
for oldUser in grok.getSite()['Users'].values():
user = User()
......
for newGroup in rUserGroups:
if newGroup.title == "superadmins":
newGroup.users.append(user)
......
return
When I execute the script, the user_groups are properly created and
the users are properly added to the user_groups they should belong to,
but I get empty "group" entries in the database, and I don't know why
I have made some tests, and I've realized that I get an empty entry
(an empty user_group) every time I try to add a user to a user_group,
but I don't know what is causing this behavior.
Any hint will be appreciated.
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
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.