Exemple #1
0
def del_project(name):
    # firstly del project
    p_id = Project.get(Project.p_name == name).p_id
    query = Project.delete().where(Project.p_name == name)
    query.execute() 
    # secondly del p_id in admin_pro 
    users = User.select() 
    for user in users:
        admin_pro = user.admin_pro
        u_id = user.u_id
        if admin_pro:
            if admin_pro == str(p_id):
                admin_pro = None
            else:
                pids = admin_pro.split(',')
                if str(p_id) in pids:
                    pids.remove(str(p_id))
                    splits = ','
                    admin_pro = splits.join(pids)
            query = User.update(admin_pro = admin_pro).where(User.u_id == u_id)
            query.execute()
    # thirdly del item if p_id in item
    items = Item.select()
    items_id = []
    for item in items:
        if item.project_id == p_id:
            items_id.append(item.it_id)
    query = Item.delete().where(Item.project_id == p_id)
    query.execute() 
    # fourly del reply if it_id in items_id
    for item_id in items_id:
        query = Reply.delete().where(Reply.item_id == item_id)
        query.execute()