Django的quarySet
models.py 代码
1 from django.db import models 2 3 # Create your models here. 4 5 6 class Author(models.Model): 7 name = models.CharField(max_length=30) 8 qq = models.CharField(max_length=20) 9 add = models.CharField(max_length=50) 10 email = models.EmailField() 11 12 def __str__(self): 13 return self.name 14 15 16 class Article(models.Model): 17 title = models.CharField(max_length=50) 18 author = models.ForeignKey(Author, on_delete=models.CASCADE) 19 content = models.TextField() 20 score = models.IntegerField() 21 tags = models.ManyToManyField('Tag') 22 23 def __str__(self): 24 return self.title 25 26 27 class Tag(models.Model): 28 name = models.CharField(max_length=50) 29 30 def __str__(self): 31 return self.name
initdb.py代码
1 import random 2 from my_query.wsgi import * 3 from blog.models import Author, Article, Tag 4 import os,django 5 6 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_query.settings") 7 django.setup() 8 9 author_name_list = ['dengyexun', 'lina', 'zhangming'] 10 article_title_list = ['Django book', 'Java book', 'C# book'] 11 12 13 def create_author(): 14 for author_name in author_name_list: 15 author, created = Author.objects.get_or_create(name=author_name) 16 author.qq = ''.join( 17 str(random.choice(range(10))) for i in range(9) 18 ) 19 author.add = 'addr_%s' % (random.randrange(1, 3)) 20 author.email = '%s@qq.com' % (author.add) 21 author.save() 22 23 24 def create_article_tag(): 25 for article_title in article_title_list: 26 tag_name = article_title.split(' ')[0] 27 tag, created = Tag.objects.get_or_create(name=tag_name) 28 random_author = random.choice(Author.objects.all()) 29 30 for i in range(1, 21): 31 title = '%s_%s' % (article_title, i) 32 article, created = Article.objects.get_or_create( 33 title=title, defaults={ 34 'author': random_author, 35 'content': '%s content' % title, 36 'score': random.randrange(70, 90), 37 } 38 ) 39 article.tags.add(tag) 40 41 42 def main(): 43 create_author() 44 create_article_tag() 45 46 47 if __name__ == '__main__': 48 main() 49 print('Done')
参考:
https://code.ziqiangxuetang.com/django/django-queryset-advance.html
转载于:https://www.cnblogs.com/demo-deng/p/7810538.html
Django的quarySet相关推荐
- 自学Python第二十二天- Django框架(一)创建项目、APP、快速上手、请求和响应流程、模板、数据库操作
Django 框架是一个基于 python 的重量级的 web 开发框架,现今很多大公司大项目都是使用 Django 框架.采用了 MVC(model view controller) 的框架模式,p ...
- Django学习之路(一)--初识django
1.先创建虚拟环境 为什么要创建虚拟环境呢? 你有两个项目同时进行,一个需要pytnon3.9和Django3.x版本的,一个需要python3.7和Django2.x版本的,不进行环境隔离的话,运行 ...
- django自带的分页功能
django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...
- django正反向查询
django正反向查询 当我们的表存在外键想要从一找多的时候该怎么查找,当我们从多找一的时候又应该怎么查找. 一找多 首先我们要创建一个项目,在项目的model.py中创建两个模型. from dja ...
- Django 布署6.5
布署 从uwsgi.nginx.静态文件三个方面处理 服务器介绍 服务器:私有服务器.公有服务器 私有服务器:公司自己购买.自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环 ...
- Django 全文检索6.3
全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:django的一个包,可以方便地对model里面的内容进行索引.搜索,设计为支持wh ...
- Django 缓存6.2
缓存 对于中等流量的网站来说,尽可能地减少开销是必要的.缓存数据就是为了保存那些需要很多计算资源的结果,这样的话就不必在下次重复消耗计算资源 Django自带了一个健壮的缓存系统来保存动态页面,避免对 ...
- Django 第三方引用富文本编辑器6.1
借助富文本编辑器,管理员能够编辑出来一个包含html的页面,从而页面的显示效果,可以由管理员定义,而不用完全依赖于前期开发人员 此处以tinymce为例,其它富文本编辑器的使用可以自行学习 使用编辑器 ...
- Django 分页和使用Ajax5.3
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
最新文章
- HI3519安装SDK错误
- bzoj千题计划303:bzoj4827: [Hnoi2017]礼物
- gslang——原生golang/RPC描述语言简介
- oracle 10 升级补丁
- 高标准,严要求!数据中心发电机组的调试与验收工作
- PHP使用GD库封装验证码类
- CRNN:端到端不定长文字识别算法
- Xamarin.Android SharedPreferences的使用方法
- oracle 10.2 连接超时,debian9 python3.6连接oracle10.2
- SQL注入:2、读写文件和下载数据库
- js object转数组_const 和 Object.freeze() 的区别 ?
- h5调用摄像头扫二维码_你的H5还没有升级到小程序吗
- Gartner公布2017年全球云存储魔力象限:阿里云跻身四强
- 【深度学习笔记】(一)Octave
- python lmdb使用
- Java环境变量配置cobalt strick4.4启动
- 2019大疆秋招面经(后台开发录用)
- aov()函数lm()函数区别,(I型、Ⅲ型平方和)
- 微信小程序 前端 支付流程
- C++学习(第二篇)//最详细C++运算符经验
热门文章
- AlamofireJsonToObjects+EVReflection:一步解决JSON解析
- [置顶]Java Web学习总结(25)——MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建...
- [C#-SQLite] SQLite一些奇怪的问题
- rhel5下samba的配置
- 关于程序员30/35岁以后就写不了代码(没前途)的问题。
- 【正一专栏】欧洲五大联赛猜想(一)德法意班霸集结寻求欧冠突破
- (转载)Android手机开发总结
- 哈夫曼编码之大根堆小根堆揭西县
- TPC-W安装与配置(威斯康星大学Java版)
- ubuntu下安装lamp环境