美文网首页
Django学习(三)

Django学习(三)

作者: 测试游记 | 来源:发表于2019-05-26 15:41 被阅读0次

欢迎关注我的公众号:zx94_11

创建对象

$ python manage.py shell
>>> from django.contrib.auth.models import User
>>> from blog.models import Post
>>> user = User.objects.get(username='admin')
>>> post = Post(title='Another post',
...             slug='anotjer-post',
...             body='Post bodu.',
...             author=user)
>>> post.save()

user = User.objects.get(username='admin')

通过用户名admin获取到user对象

创建

更新对象

>>> post.title = 'New title'
>>> post.save()
更新对象

获取对象

>>> all_posts = Post.objects.all()
>>> Post.objects.all()
<QuerySet [<Post: New title>, <Post: zx>]>

使用filter()方法

>>> Post.objects.filter(publish__year=2019)
<QuerySet [<Post: New title>, <Post: zx>]>
>>> Post.objects.filter(publish__year=2019,author__username='admin')
<QuerySet [<Post: New title>, <Post: zx>]>
>>> Post.objects.filter(publish__year=2019) \
            .filter(author__username='admin')
<QuerySet [<Post: New title>, <Post: zx>]>

包含字段查找方法的查询操作可以采用两个下划线予以构建

使用exclude()方法

排除特定的结果

>>> Post.objects.filter(publish__year=2019) \
        .exclude(title__startswith='zx')

使用order_by()

>>> Post.objects.order_by('title')
<QuerySet [<Post: New title>, <Post: zx>]>
>>> Post.objects.order_by('-title')
<QuerySet [<Post: zx>, <Post: New title>]>

默认升序,通过负号前缀降序排序

删除对象

>>> post = Post.objects.get(id=1)
>>> post.delete()
(1, {'blog.Post': 1})

创建模型管理器

class PublishedManager(models.Manager):
    def get_queryset(self):
        return super(PublishedManager, self) \
            .get_queryset() \
            .filter(status='published')


class Post(models.Model):
    object = models.Manager()
    published = PublishedManager()
    ...

使用

>>> Post.published.filter(title__startswith='zx')
<QuerySet []>

相关文章

  • Django学习(三)

    欢迎关注我的公众号:zx94_11 创建对象 user = User.objects.get(username='...

  • Django基础

    Django介绍: Django简介: 为什么使用Django? 知识储备: 学习目标: DJango初体验: 1...

  • django by example 实践 说明及目录

    本文集是学习 django by example 的记录。 django by example 使用 django...

  • 简单无脑的Django起步,适合最新版

    # Django学习笔记 ![Django首页截图](images/django.jpg) ## 1. 安装 *~...

  • 序言

    在Python的学习道路上不能错过Django的学习,三月份当当网做活动,我购买了这本《轻量级Django》,然后...

  • django学习笔记(三)

    逻辑运算符 条件 循环 测试代码

  • django 学习笔记三

    自定义 URL 对应的视图 在 views.py 中增加 URL 的过滤和响应事件 在 views.py 中增加过...

  • Django学习之旅(三)

    上篇文章讲到视图部分知识,本文将对视图的用法进行深入学习。 自定义视图 随着我们的Web站点页面越来越多,页面链接...

  • Django学习笔记(三)

    1. 列表显示数据模型的字段 polls/models.py from django.db import mode...

  • django middleware

    参考:Django 源码学习(3)——中间件Django Middleware官方文档Django==2.0.4源...

网友评论

      本文标题:Django学习(三)

      本文链接:https://www.haomeiwen.com/subject/blfftctx.html