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相关推荐

  1. 自学Python第二十二天- Django框架(一)创建项目、APP、快速上手、请求和响应流程、模板、数据库操作

    Django 框架是一个基于 python 的重量级的 web 开发框架,现今很多大公司大项目都是使用 Django 框架.采用了 MVC(model view controller) 的框架模式,p ...

  2. Django学习之路(一)--初识django

    1.先创建虚拟环境 为什么要创建虚拟环境呢? 你有两个项目同时进行,一个需要pytnon3.9和Django3.x版本的,一个需要python3.7和Django2.x版本的,不进行环境隔离的话,运行 ...

  3. django自带的分页功能

    django自带的分页功能 django中自带的分页功能有缺陷,但是也是一种思路,所以在下做一个整理,方便以后使用,还有服务各位小伙伴. django视图部分的代码.(注释才是重点) from dja ...

  4. django正反向查询

    django正反向查询 当我们的表存在外键想要从一找多的时候该怎么查找,当我们从多找一的时候又应该怎么查找. 一找多 首先我们要创建一个项目,在项目的model.py中创建两个模型. from dja ...

  5. Django 布署6.5

    布署 从uwsgi.nginx.静态文件三个方面处理 服务器介绍 服务器:私有服务器.公有服务器 私有服务器:公司自己购买.自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环 ...

  6. Django 全文检索6.3

    全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:django的一个包,可以方便地对model里面的内容进行索引.搜索,设计为支持wh ...

  7. Django 缓存6.2

    缓存 对于中等流量的网站来说,尽可能地减少开销是必要的.缓存数据就是为了保存那些需要很多计算资源的结果,这样的话就不必在下次重复消耗计算资源 Django自带了一个健壮的缓存系统来保存动态页面,避免对 ...

  8. Django 第三方引用富文本编辑器6.1

    借助富文本编辑器,管理员能够编辑出来一个包含html的页面,从而页面的显示效果,可以由管理员定义,而不用完全依赖于前期开发人员 此处以tinymce为例,其它富文本编辑器的使用可以自行学习 使用编辑器 ...

  9. Django 分页和使用Ajax5.3

    分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...

最新文章

  1. HI3519安装SDK错误
  2. bzoj千题计划303:bzoj4827: [Hnoi2017]礼物
  3. gslang——原生golang/RPC描述语言简介
  4. oracle 10 升级补丁
  5. 高标准,严要求!数据中心发电机组的调试与验收工作
  6. PHP使用GD库封装验证码类
  7. CRNN:端到端不定长文字识别算法
  8. Xamarin.Android SharedPreferences的使用方法
  9. oracle 10.2 连接超时,debian9 python3.6连接oracle10.2
  10. SQL注入:2、读写文件和下载数据库
  11. js object转数组_const 和 Object.freeze() 的区别 ?
  12. h5调用摄像头扫二维码_你的H5还没有升级到小程序吗
  13. Gartner公布2017年全球云存储魔力象限:阿里云跻身四强
  14. 【深度学习笔记】(一)Octave
  15. python lmdb使用
  16. Java环境变量配置cobalt strick4.4启动
  17. 2019大疆秋招面经(后台开发录用)
  18. aov()函数lm()函数区别,(I型、Ⅲ型平方和)
  19. 微信小程序 前端 支付流程
  20. C++学习(第二篇)//最详细C++运算符经验

热门文章

  1. AlamofireJsonToObjects+EVReflection:一步解决JSON解析
  2. [置顶]Java Web学习总结(25)——MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建...
  3. [C#-SQLite] SQLite一些奇怪的问题
  4. rhel5下samba的配置
  5. 关于程序员30/35岁以后就写不了代码(没前途)的问题。
  6. 【正一专栏】欧洲五大联赛猜想(一)德法意班霸集结寻求欧冠突破
  7. (转载)Android手机开发总结
  8. 哈夫曼编码之大根堆小根堆揭西县
  9. TPC-W安装与配置(威斯康星大学Java版)
  10. ubuntu下安装lamp环境