当前位置:   article > 正文

【Python Flask】SQLAlchemy增删改查总结;不重复查询某一列_flask all查询不去重

flask all查询不去重
SQLAlchemy数据库操作

1.增加一条记录

# model层
class Users_menu(db.Model):
    __tablename__ = 'users_menu'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    menuid = db.Column(db.Integer)
    userid = db.Column(db.Integer)
    ischecked = db.Column(db.Integer)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
# view层
# ...此处省略
new_menu = Users_menu(userid=user_id, menuid=menu_id,ischecked=ischecked )
db.session.add(new_menu) # 增加
  • 1
  • 2
  • 3
  • 4

2.批量删除多条记录:采用先查询,后删除的方式

# view层
# ...此处省略
 user_menu_old = Users_menu.query.filter(Users_menu.userid==user_id).all()
 for menu_obj in user_menu_old:
     db.session.delete(menu_obj)
 db.session.commit()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.查询多条记录

使用filter

menu = Users_menu.query.filter(Users_menu.userid==id).all()
  • 1

或者使用filter_by

score = Score.query.filter_by(username=cu_username,p_code=p_code).order_by(Score.id.desc()).first()
  • 1

4.修改一条记录(先查询,后修改)

current_node = Menu.query.filter_by(id=node_id).first() # 查询
current_node.name = node_name # 修改
current_node.filename = node_filename # 修改
current_node.url = node_url # 修改
db.session.commit() # 提交
  • 1
  • 2
  • 3
  • 4
  • 5

5.查询表中某一列(不重复)

	temp_list = Score_current.query.with_entities(Score_current.p_code).distinct().all()
    # temp_list is[(u'SR.CZC',), (u'RB.SHF',), (u'I.DCE',), (u'JM.DCE',), (u'J.DCE',), (u'RU.SHF',), (u'EG.DCE',), (u'TA.CZC',), (u'L.DCE',), (u'CF.CZC',), (u'SB.NYB',), (u'P.DCE',)]
	
	# 取出第一个逗号前面的元素
	kind_list = []
    for obj in temp_list:
        kind_list.append(obj[0])        
    #  kind_list is[u'SR.CZC', u'RB.SHF', u'I.DCE', u'JM.DCE', u'J.DCE', u'RU.SHF', u'EG.DCE', u'TA.CZC', u'L.DCE', u'CF.CZC', u'SB.NYB', u'P.DCE']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/515686
推荐阅读
相关标签
  

闽ICP备14008679号