加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Django之ORM的使用

(2022-10-05 22:00:52)
分类: python
1、在Python脚本中单独使用Django ORM
有很多时候,希望单独使用Django的 ORM。
ORM,即对象关系映射。有很多使用,希望脱离网站,单独在脚本程序中使用。例如,调试程序;再比如,单独使用数据的时候。

直接使用ORM的方法:

import os,django
os.environ.setdefault("DJANGO_SETTINGS_MODULE","project_name.settings")
django.setup()

from django_app.models import *

这样,就可以直接使用ORM了。

2、打印SQL语句
有时为了审核我们的ORM使用方式是否正确,打印出SQL原生语句是比较好的方式。对于queryset对象,可以使用queryset.query确定使用的SQL语句。
print(queryset.query)

3、ORM的group by
当values和annotate一起用的时候,values的字段就自动承担起了group_by的作用。
 a = WeekProgress.objects.values('year','week').annotate(c=Count("id"))
相当于:
select year,week,count(id) as c from WeekProgress group by year,week
注意上面的语句,表名需要转换成实际的表名,而不是类名。

4、QuerySet对象转换成dict对象
 from django.forms.models import model_to_dict

u=User.objects.get(id=1)
u_dict=model_to_dict(u)

转换成字典对象后,可以方便的进行迭代。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有