FLASK-SQLALCHEMY如何使用or和and条件进行组合查询

最近用Flask开发的一个工作管理系统,数据库使用的ORM 框架是Flask-SQLAlchemy,Flask-SQLAlchemy使用起来简洁方便,基本的使用在官方文档上面都可以查到,但我在用filter的时候遇到了一些问题。

在FLASK-SQLALCHEMY 的FILTER中如何使用OR和AND来组合多种条件查询?

查找文档的时候并没有找到相关的描述,后来经过多次尝试,发现可以这样写:

首先要Import相关的库

from flask_sqlalchemy import SQLAlchemy

from sqlalchemy import or_,and_

然后定义filter:

task_filter = {
  or_(
   and_(
    Task.task_department == current_user.user_department,
    Task.task_commit_status > 0,
    Task.task_complete_time >= prev,
   ),
   and_(
    Task.task_complete_time >= prev,
    Task.task_members.like('%,'+str(current_user.user_id)+',%'),
   )
 )
}

上面这个filter中有两个条件组,关系为or,每个条件组里有一些and关系的条件。

filter定义完之后就可以进行查询了:

Task.query.filter(*task_filter).all()

一些状态

最近感觉陷入了一种困境,经常不在状态,偶尔倦怠不喜欢出门,到了晚上开始写代码,喝酒看电影。算了,每年都会有一阵子这样的时候。

这阵比较喜欢看简·奥斯汀的小说,也看BBC英剧,看视频的时候开一瓶酒,边看边写一天的工作总结和长线计划,有时写写读书笔记。也看悬疑电影,休息日的时候看了几部,像看不见的客人这种,《Phantom Thread》这种类型的也很喜欢,看了两遍。

写代码比较喜欢简洁的语言,开始用Flask, Django写项目,写API必须用Flask,过几天就重构下前几天写的代码。

入手了一支万宝龙146和一支万宝龙红蛇,感觉自己也算是入钢笔坑了,下个目标是买一支小王子。

Flask连接Mysql几种报错的解决方法

最近在用Flask做一个轻量级的小项目,除了__BluePrint__的坑,就是数据库这里的坑。把遇到的问题记录一下:

1.在Mac OS下数据库提示’mysql\_config not found ‘:

ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config

2.python3.\* Module Not Found Error: No module named ‘ MySQLdb ‘:

sudo python3 -m pip install mysqlclient

React开发笔记

1.创建项目慢的问题

npm官方的源不稳定,换成淘宝的源 http://registry.npm.taobao.org/

npm config set registry=http://registry.npm.taobao.org/

执行上面的命令之后再执行

react-native init AwesomeProject

2.Mac OS下Android Studio刷新调试

(command)+M 唤出开发菜单,点击Reload

3.iOS关闭Debug模式(去掉状态栏上的 “Loading from pre-bundled file”小黑条)

XCode中选择Product → Scheme → Edit Scheme… (或者⌘ + <). Next, 把左侧Run Build Configuration 改为Release.

4.iOS报错Showing All Errors Only error: File XXX/main.jsbundle does not exist.

Build Phases中找到Copy Bundle Resources , ‘ + ’ 添加 main.jsbundle