如何附加到列表中的多个列表

时间:2017-05-20 15:13:39

标签: python mysql database list sqlalchemy

def get_users(self, department_ids, selectable=User, is_alive=True, except_main_department_owner=False):
    """
        Returns all users of given departments
    """
    query_ob = self.session.query(selectable).join(User.departments).filter(
        Department.id.in_(department_ids))

    if except_main_department_owner:
        query_ob = query_ob.filter(
            User.id != DefaultValue.DEFAULT_MAIN_DEPARTMENT_OWNER_ID
        )

    if is_alive:
        query_ob = query_ob.filter(
            User.is_alive
        )

    return query_ob.all()

当我打电话传递个人身份证时,例如:

d_user = [helper.get_users([1], is_alive=True, except_main_department_owner=True)]

返回值。

但是当我想要一系列清单时:

helper = DepartmentHelper(self.session, self.login_user)
d_user = [helper.get_users([id], is_alive=True, except_main_department_owner=True) for id in self.data_departments]
它给我一个错误。

"Failed processing pyformat-parameters; %s" % err)
sqlalchemy.exc.ProgrammingError: 
(mysql.connector.errors.ProgrammingError) Failed processing pyformat-
parameters; 'MySQLConverter' object has no attribute 
'_department_to_mysql'  

4 个答案:

答案 0 :(得分:0)

我不确定你的要求是什么,但我认为你要问的是连接两个列表。

list1=list2+list3

这将连接两个列表

答案 1 :(得分:0)

linked question(我认为您应该坚持一个问题,并努力制定SSCCE)中,您指定从此功能获取用户:

def get_users(self, department_ids, selectable=User, is_alive=True, except_main_department_owner=False):    
    """Returns all users of given departments

    """
    query_ob = self.session.query(selectable).join(User.departments).filter(
        Department.id.in_(department_ids))

    return query_ob.all()

根据您的评论,您指定您的部门编号为1..n。然后,您可以获得具有列表推导的用户列表列表:

n = 9
department_ids = range(1,n+1)
users_per_department = [self.get_users([id]) for id in department_ids]

答案 2 :(得分:0)

您可以使用方括号引用列表项(从零开始计算):

some_list = [[],[],[]]
some_list[1] += [1,2,3]

现在some_list包含[[], [1, 2, 3], []]

答案 3 :(得分:0)

您可以通过以下示例实现此目的

department=[]
department.append([1,2,..])

所以:

department=[[1,2,],]