这个sql语句变成flask_sqlalchemy的模型语句
时间: 2023-07-06 17:41:09 浏览: 64
假设您的Flask应用已经配置好了SQLAlchemy的连接和表映射关系,您可以将这个查询语句转化为ORM的模型语句,例如:
```python
from datetime import datetime, timedelta
from sqlalchemy import func
from yourapp import db
class SkinLog(db.Model):
__tablename__ = 'skins_logs'
id = db.Column(db.Integer, primary_key=True)
skins_id = db.Column(db.Integer, nullable=False)
created_at = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
class SkinLogCount(db.Model):
__tablename__ = 'skin_log_counts'
id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.Date, nullable=False)
count = db.Column(db.Integer, default=0, nullable=False)
@staticmethod
def generate_skin_log_counts():
start_date = datetime(2021, 12, 1).date()
end_date = datetime(2023, 3, 27).date()
dates = [start_date + timedelta(days=i) for i in range((end_date - start_date).days + 1)]
for date in dates:
count = db.session.query(func.count(SkinLog.id)).filter(db.func.date(SkinLog.created_at) == date, SkinLog.skins_id == 481).scalar()
skin_log_count = SkinLogCount(date=date, count=count)
db.session.add(skin_log_count)
db.session.commit()
```
这里定义了两个模型类,一个是SkinLog表示skins_logs表的映射,一个是SkinLogCount表示查询结果的映射。然后定义了一个名为generate_skin_log_counts的静态方法来生成查询结果。在该方法中,首先获取需要查询的日期序列,然后依次查询每个日期的记录数,并插入到SkinLogCount表中。最后提交事务即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)