python中objects_django的objects怎么调用

本文介绍了Django中如何使用和自定义Model的管理器(Manager)对象,包括objects属性作为默认管理器的作用,以及如何通过自定义管理器实现特定查询过滤,例如根据isDelete字段筛选数据。
摘要由CSDN通过智能技术生成

首先我们先熟悉下objects的大致概念.

object是模型属性---用于模型对象和数据库交互 .

objects = Manager() 是管理器类型的对象 ,是Model和数据库进行查询的接口.

objects : 管理器对象

是Manager类型的对象,定义在from django.db import models中

用于模型对象和数据库交互

是默认自动生成的属性,但是可以自定义管理器对象

实例class Students(models.Model):

# stuobj = models.Manager() #第一种重新定义objects,objects是Manager()的对象

# students.objects.all() 变成了 Students.stuObj.all()

# stuobj2 = studentManager() 重新定义objects,查询变成Students.stuObj2.all()

sname = models.CharField(max_length=20)

sgender = models.CharField(max_length=20)

sage = models.IntegerField()

scontend = models.CharField(max_length=100,null=True,blank=True)

自原本的我们的objects=models.Manager(),查询类的属性时都是.? ?类名.objects.方法

Students.objects.all() 查询完之后返回一个queryset()

定义管理器对象:例如stuobj = models.Manager()

一旦自定义管理器对象,默认的objects 就不再自动生成,查询时就变成了

Students.stuobj.all()

查询时某些字段我们并不想要.这时候我们就可以自定义objects.class studentManager(models.Manager):

def get_queryset(self):

return super(studentManager,self).get_queryset().filter(isDelete=False)

我们定义一个自定义的manager(),继承models.manager.

后面的我们把isDelete是错误的,就如上面自己定义的,下面

stuobj2 = studentManager()

Students.stuobj2.all()就把isDelete是错误的删除了.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要用Django快速搭建博客系统,可以按照以下步骤进行: 1. 安装Django 首先需要安装Django,可以使用pip命令进行安装: ``` pip install django ``` 2. 创建Django项目和应用 使用以下命令创建一个Django项目和一个应用: ``` django-admin startproject myblog cd myblog python manage.py startapp blog ``` 这里的myblog是项目名称,blog是应用名称。 3. 配置数据库 在myblog/settings.py文件配置数据库信息,这里使用SQLite数据库: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ``` 4. 创建博客模型 在blog/models.py文件定义博客的模型: ```python from django.db import models class Blog(models.Model): title = models.CharField(max_length=100) content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) ``` 这里定义了一个博客模型,包括标题、内容和发布时间。 5. 创建数据库表 使用以下命令创建数据库表: ``` python manage.py makemigrations python manage.py migrate ``` 6. 创建视图 在blog/views.py文件定义博客列表视图和详情视图: ```python from django.shortcuts import render, get_object_or_404 from .models import Blog def blog_list(request): blogs = Blog.objects.all() return render(request, 'blog_list.html', {'blogs': blogs}) def blog_detail(request, pk): blog = get_object_or_404(Blog, pk=pk) return render(request, 'blog_detail.html', {'blog': blog}) ``` 这里定义了博客列表视图和详情视图,通过模板渲染展示博客信息。 7. 创建模板 在blog/templates目录下创建博客列表和详情的模板: blog_list.html: ```html {% for blog in blogs %} <h2><a href="{% url 'blog_detail' blog.pk %}">{{ blog.title }}</a></h2> <p>{{ blog.content }}</p> <p>{{ blog.pub_date }}</p> {% endfor %} ``` blog_detail.html: ```html <h2>{{ blog.title }}</h2> <p>{{ blog.content }}</p> <p>{{ blog.pub_date }}</p> ``` 8. 配置URL 在myblog/urls.py文件配置博客列表和详情的URL: ```python from django.urls import path from blog.views import blog_list, blog_detail urlpatterns = [ path('', blog_list, name='blog_list'), path('<int:pk>/', blog_detail, name='blog_detail'), ] ``` 9. 运行Django项目 使用以下命令运行Django项目: ``` python manage.py runserver ``` 然后在浏览器访问http://127.0.0.1:8000/就可以看到博客列表页面了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值