1.1 BooleanField
True/False字段,默认值为None
sele_out = models.BooleanField(default=False, verbose_name='售空')
1.2 CharField
字符串字段
name = models.CharField(max_length=20, verbose_name='书名')
1.3 DateField
日期字段
pud_date = models.DateField(verbose_name='发布时间')
1.4 DecimalField
十进制浮点型字段
height = models.DecimalField(max_digits=5, decimal_places:2, verbose_name="身高")
1.5 FloatField
浮点型字段
price = models.FloatField(verbose_name="价格")
1.6 IntegerField
整型字段
age = models.IntegerField(verbose_name="年龄")
null
如果该值为 True
,将在数据库中将控制存储为 NULL
字符串字段 CharField
与 TextField
要避免使用 null
,因为空值字符串将存储空字符串(””),而不是 null
值。
对于字符串类型的数据字段,大多数情况下, django
使用空字符串代表空值
blank
如果该值为 True
,则在验证时该字段值可以为空;
null
为数据库存储层面可以为空,而 blank
为表单验证层面可以填写空值
choices
一个二元组的列表或元组;
元组中第一个值为真正在数据库中存储的值,第二个值为该选项的描述
该值一旦被设定,表单样式会显示选择框,而不是标准的文本框,选择框内的选项为 choices
中的元组
在模型类下
class Meta:
verbose_name = '书籍信息'
verbose_name_plural = verbose_name
db_table = 'bookinfo'
def __str__(self):
return self.name
需要先导包
from books.models import Bookinfo
4.1 添加
Bookinfo.objects.create(
name='Js',
pud_date='2010-12-12',
read_count=500,
comment_count=200,
sele_out=False,
)
4.2 删除
Bookinfo.objects.filter(id=1)
4.3 修改
Bookinfo.objects.fiter(name='python').update(name='html')
book = Bookinfo.objects.get(name='Js')
book.read_count = 666
book.save()
4.4 查询
Bookinfo.objects.get(id__exact=1)
Bookinfo.objects.filter(name__contains='湖')
Bookinfo.objects.filter(name__endswith='部')
Bookinfo.objects.filter(name__isnull=True)
Bookinfo.objects.filter(id__in=[1,3,5])
Bookinfo.objects.filter(id__gt=3)
Bookinfo.objects.filter(pud_date__year='1980')
Bookinfo.objects.filter(pud_date__gt='1990-01-01')
需要导入
from django.db.models import Q
Bookinfo.objects.filter(read_count__gt=20, id__lt=3)
from django.db.models import Q
Bookinfo.objects.filter(Q(read_count__gt=20) & Q(id__lt=3))
Bookinfo.objects.filter(Q(read_count__gt=20) | Q(id__lt=3))
Bookinfo.objects.exclude(id=3)
Bookinfo.objects.filter(~Q(id=3))
from django.db.models import F
from django.db.models import F
Bookinfo.objects.filter(read_count__gt=F('comment_count'))
Bookinfo.objects.filter(read_count__gt=F('comment_count')*2)
需要导入
from django.db.models import Max, Min, Sum, Count, Avg
Bookinfo.objects.aggregate(Sum('read_count'))
Bookinfo.objects.count()
Bookinfo.objects.aggregate(Count('id'))
Bookinfo.objects.all().order_by('read_count')
Bookinfo.objects.all().order_by('-read_count')
Original: https://blog.csdn.net/m0_70015578/article/details/124445249
Author: du fei
Title: 第六单元 ORM字段及操作
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/733983/
转载文章受原作者版权保护。转载请注明原作者出处!