querywrapper排除空值查询
时间: 2023-08-29 20:05:47 浏览: 100
你可以使用querywrapper的is_not_null方法来排除空值查询。下面是一个示例:
```python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql.expression import and_, or_
from sqlalchemy.orm.query import Query
from sqlalchemy import text
engine = create_engine('sqlite:///example.db')
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
# 添加一些用户数据
session.add_all([
User(name='Alice', age=25),
User(name='Bob', age=30),
User(name='Charlie', age=None),
User(name='David', age=None)
])
session.commit()
# 查询年龄不为空的用户
query = session.query(User).filter(User.age.isnot(None))
results = query.all()
print(results)
```
在这个示例中,我们定义了一个User模型,它有一个名为age的属性。我们创建了一些用户数据,并使用is_not_null方法来查询年龄不为空的用户。这将排除那些age属性为None或NULL的用户。
阅读全文