1、元选项,在模型类型中定义一个Meta类,用于设置元信息

  1. class Student(models.Model):
  2. name = models.CharField(max_length=20)
  3. sex = models.BooleanField()
  4. age = models.IntegerField()
  5. contend = models.CharField(max_length=40)
  6. # 关联类名的小写
  7. grade = models.ForeignKey("grade")
  8. isDelete = models.BooleanField(default=False)
  9. def __str__(self):
  10. return self.name
  11. class Meta():
  12. db_table = "students"
  13. ordering = ["-id"]

属性:db_table  定义数据表名,推荐使用类名小写,并且添加复数

   ordering  规定对象的默认排序字段

       正序  ordering = ["id"]    倒序 ordering = ["-id"]

       排序会增加数据库的开销

2、objects对象

  概述:是Manager类型的对象,用于与数据库进行交互

  当定义模型时没有指定管理器,则Django会为模型提供一个名为objects的管理器

自定义模型管理器:如果为模型指定了管理类,那么Django不再为模型类提供名为objects的管理类

  1. class Student(models.Model):
  2. #自定义模型管理器
  3. myobject = models.Manager()
  4.  
  5. name = models.CharField(max_length=20)
  6. sex = models.BooleanField()
  7. age = models.IntegerField()
  8. contend = models.CharField(max_length=40)
  9. # 关联类名的小写
  10. grade = models.ForeignKey("grade")
  11. isDelete = models.BooleanField(default=False)
  12. def __str__(self):
  13. return self.name
  14. class Meta():
  15. db_table = "students"
  16. ordering = ["-id"]

自定义模型管理器类

  1. class StudentManager(models.Manager):
  2. def get_queryset(self):
  3. return super(StudentManager, self).get_queryset().filter(isDelete=False)
  4. class Student(models.Model):
  5. #自定义模型管理器
  6. objects = StudentManager()

get_queryset获取查询集(数据集),自定义管理器类调用父类的get_queryset方法后再进行过滤

Django模型中的元选项和object对象的更多相关文章

  1. 如何在Django模型中管理并发性 orm select_for_update

    如何在Django模型中管理并发性 为单用户服务的桌面系统的日子已经过去了 - 网络应用程序现在正在为数百万用户提供服务,许多用户出现了广泛的新问题 - 并发问题. 在本文中,我将介绍在Django模 ...

  2. Django模型中OneToOneField和ForeignKey的区别

    网上看到一篇讲解"Django模型中OneToOneField和ForeignKey区别" 的文章,浅显易懂; 可以把ForeignKey形象的类比为: ForeignKey是on ...

  3. 如何让django模型中的字段和model名显示为中文

    如何让django模型中的字段和model名显示为中文:在模型中加入class Meta即可 class People(models.Model): name = models.CharField(n ...

  4. 在WPF中,如何得到任何Object对象的XAML代码?

    原文:在WPF中,如何得到任何Object对象的XAML代码? 在WPF中,可以使用System.Windows.Markup.XamlWriter.Save(objName)得到任何Object对象 ...

  5. django模型中的关系对应

    显然,关系数据库的力量在于将表相互关联.Django提供了定义三种最常见的数据库关系类型的方法:多对一,多对多和一对一. 在说明之前,首先来理解一下这三个概念: 多对一: 两个集合a,b;集合a中的多 ...

  6. django模型:字段和选项

    https://blog.csdn.net/iloveyin/article/details/44852645一.常用字段1.字段类型使用时需要引入django.db.models包,字段类型如下Au ...

  7. django模型中的抽象类(abstract)

    首先介绍下django的模型有哪些属性:先看例子: Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract 这个属性是定义当前的模 ...

  8. django 模型中 class Meta 内 各种属性的用法

    Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.下面对此作一总结: abstract 这个属性是定义当前的模型类是不是一个抽象类.所谓抽象类是不会相应数据库表的 ...

  9. Django 模型中FileField字段

    FileField¶ class FileField([upload_to=None, max_length=100, **options])¶ 一个上传文件的字段. 注意 FileField字段不支 ...

随机推荐

  1. Tuple元组 、 ValueTuple 值元组详解

    Tuple元组 Tuple是C# 4.0时出的新特性,.Net Framework 4.0以上版本可用. 元组是一种数据结构,具有特定数量和元素序列,与数组不同,元祖中的元素可以不同的数据类型.比如设 ...

  2. Thinkphp 漏洞小试

    首先确定这个网站使用thinkphp的框架 国内很多php开源项目的代码都是使用thinkphp框架编写的,但是thinkphp框架有很多版本,如何才能知道我们使用的框架是哪个版本的呢? 在URL后面 ...

  3. host 'xx' is not allowed to connect to this MySql server

    update mysql.user set host = '%' where user = 'root'; FLUSH PRIVILEGES; select * from mysql.user;

  4. Debian 静态网络配置

    allow-hotplug enp6s0 iface enp6s0 inet static address gateway 192.168.2.1 # dns-* options are implem ...

  5. 环境变量、block、修饰符:block对环境变量的引用和修改需要通过修饰符来限定

    环境变量.block.修饰符:block对环境变量的引用和修改需要通过修饰符来限定. http://www.cnblogs.com/fengmin/p/5816580.html - (NSUInteg ...

  6. BZOJ2223/3524:[POI2014] Couriers(主席树)

    Description 给一个长度为n的序列a.1≤a[i]≤n. m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0 ...

  7. Mybatis Plus简介

    集成 MP Mybatis-Plus 的集成非常简单,对于 Spring,我们仅仅需要把 Mybatis 自带的MybatisSqlSessionFactoryBean替换为 MP 自带的即可. &l ...

  8. 在Eclipse中执行、配置Hadoop

    版权全部: zhe-jiang.he@hp.com  严禁转载! 1.安装插件 准备程序: eclipse-3.3.2(这个版本号的插件仅仅能用这个版本号的eclipse) hadoop-0.20.2 ...

  9. mysql查询某个数据库表的数量

    在mysql中有个数据库information_schema下的表tables记录了所有数据库中所有的表相关信息 TABLE_SCHEMA 数据库名称 SELECT COUNT( * ) FROM i ...

  10. 利用kage把msf变成可视化远控平台

    项目下载https://github.com/WayzDev/Kage/releases 这里用kali系统演示 1,先下载kage: 2,右击给予执行权限 3,启动msf msfconsole -q ...