一.常用的字段属性:

1.AutoField
自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为id的自动增长属性。
2.BooleanField
布尔字段,值为True或False。
3.NullBooleanField
支持Null、True、False三种值。
4.CharField(max_length=最大长度)
字符串。参数max_length表示最大字符个数。
5.TextField
大文本字段,一般超过4000个字符时使用。
6.IntegerField
整数
7.DecimalField(max_digits=None, decimal_places=None)
十进制浮点数。参数max_digits表示总位。参数decimal_places表示小数位数。
精度比FloatField高
8.FloatField
浮点数。参数同上
9.DateField:([auto_now=False, auto_now_add=False])
日期型
1)参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false。
2) 参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false。
3)参数auto_now_add和auto_now是相互排斥的,组合将会发生错误。

二、选项:

1.default
默认值。设置默认值。
2.primary_key
若为True,则该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用。
3.unique
如果为True, 这个字段在表中必须有唯一值,默认值是False。
4.db_index
若值为True, 则在表中会为此字段创建索引,默认值是False。
5.db_column
字段的名称,如果未指定,则使用属性的名称。
6.null
如果为True,表示允许为空,默认值是False。
7.blank
如果为True,则该字段允许为空白,默认值是False。
注意:null是数据库范畴的概念,blank是后台管理页面表单验证范畴的。
三、查询函数:
Django之M层的字段属性和选项以及查询函数
1.get实例:
例:查询图书id为3的图书信息

b=BookInfo.objects.get(id=3)

2.all方法示例:
例:查询图书所有信息

b=BookInfo.object.all()

3.filter方法示例:
条件格式:
模型类属性名__条件名=值

a)判等 条件名:exact 。
例:查询编号为1的图书。

b=BookInfo.objects.get(id__exact=1)

b)模糊查询
例1:查询书名包含’传’的图书。Contains

b=BookInfo.objects.filter(btitle__contains='传')

例2:查询书名以’部’结尾的图书 endswith 开头:startswith

b=BookInfo.objects.filter(btitle__endswith='部')

c)空查询 isnull
例:查询书名不为空的图书。isnull

b=BookInfo.objects.filter(btitle__isnull=False)

d)范围查询 in
例:查询id为1或3或5的图书。

b=BookInfo.objects.filter(id__in=[1,3,5])

e)比较查询 gt(greate than) lt(less than) gte(equal) 大于等于lte 小于等于
例:查询id大于3的图书。gt

b=BookInfo.objects.filter(id__gt=3)

f)日期查询 year
例1:查询1980年发表的图书。

BookInfo.objects.filter(bpub_date__year=1980)

例2:查询1980年1月1日后发表的图书。

From datetime import date
b=BookInfo.objects.filter(bpub_date__gt=date(1980,1,1))

exclude方法示例:
例:查询id不为3的图书信息。

b=BookInfo.objects.exclude(id=3)

order_by方法示例:
作用:进行查询结果进行排序。
例1:查询所有图书的信息,按照id从小到大进行排序。

b=BookInfo.objects.all().order_by(‘id’)

例2:查询所有图书的信息,按照id从大到小进行排序。

b=BookInfo.objects.all().order_by(‘-id’)

例3:把id大于3的图书信息按阅读量从大到小排序显示。

b=BookInfo.objects.filter(id__gt=3).order_by(‘-bread’)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2021-09-21
  • 2023-03-21
猜你喜欢
  • 2021-09-09
  • 2022-12-23
  • 2021-07-11
  • 2022-12-23
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案