在事件映射器级别文档中
它表示Session.add()不支持,但当我尝试在db.session.add(some_object)内部after_insert事件中工作时,例如:
def after_insert_listener(mapper, connection, user):
global_group = Group.query.filter_by(groupname='global').first()
a = Association(user,global_group)
db.session.add(a)
event.listen(User, 'after_insert', after_insert_listener)
Run Code Online (Sandbox Code Playgroud)
基本上任何新用户都应该是global_group的一部分,所以我在after_insert事件中添加了它.我试图插入一个用户,然后检查我的数据库,我找到了用户记录和关联记录.
在我的代码中,我有一个函数可以处理一些数据,然后返回一个应该排序的列表。我有 2 个返回选项: - SortedSet - List (但它会排序)
到目前为止,对此返回类型执行的唯一操作是迭代。
SortedSet 的参数: - 它强制返回的项目进行排序 - 这意味着返回的项目已排序
列表的参数: - 调用者不需要集合(及其复杂的功能),他所需要的只是承诺排序的项目列表。- 保持界面简单(无 SortedList)
你怎么认为?