我有一个用户,创建时有两个文件夹=> home_folder
和trash_folder
。每个文件夹都有一个创建者(用户)。
文件夹是通过加入继承的条目(在我的问题中可能无关紧要)。
当我这样做时:
new_user = User(name=name)
home_folder = Folder(name="Home",
folder_type=Folder.FolderType.home,
creator=new_user)
trash_folder = Folder(name="Trash",
folder_type=Folder.FolderType.trash,
creator=new_user)
session.add(home_folder)
session.add(trash_folder)
session.add(new_user)
session.commit()
我正确地获取了文件夹:
id folder_type creator_id
1 home 1
2 trash 1
但我的用户不行:
id name home_folder_id trash_folder_id
1 Remi <null> <null>
以下是我的要点:https://gist.github.com/remimarenco/3a9919d58a1b5987cdced1fff62cc606
编辑:
所以,实际上我的问题有点像......“我如何为魔术添加更多魔法?”有意义的是我的home_folder和我的trash_folder没有在我的用户中填充,因为我没有专门设置它们的地方。
我想我必须在.flush()
或.commit()
之后执行这些操作,因此创建了用户并创建了文件夹......
我很高兴知道是否有办法即时链接它们,比如说我们正在创建的文件夹与用户的home_folder相关联。
谢谢!
答案 0 :(得分:0)
您好像已经创建了文件夹并为用户添加了他/她的名字,但您还没有将用户关联到Home / Trash文件夹。创建所有三个对象后,仍然需要链接它们。例如:
session.add(home_folder) # Home folder is created
session.add(trash_folder) # Trash folder is created
session.add(new_user) # New User is Created
new_user.home_folder = home_folder # Give the New User a Home Folder
new_user.trash_folder = trash_folder # Give the New User a Trash Folder
session.commit()