后端(步骤/模型字段/ 模型关联(*一对多/多对多/一对一)模型查询/自定义管理器/元选项)

本文详细探讨了后端开发中的关键概念,包括模型字段的设定,模型关联如一对多、多对多和一对一的关系建立,以及如何进行有效的模型查询。此外,还介绍了自定义管理器和元选项的应用,这些都是提升后端数据库操作效率的重要工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤
在这里插入图片描述

模型字段

AutoField:自动增长的IntegerField
BooleanField:布尔字段,值为True或False。
NullBooleanField:支持Null、True、False三种值。
CharField(max_length=字符长度):字符串。
TextField:大文本字段,一般超过4000个字符时使用。
IntegerField:整数。
FloatField:浮点数
TimeField:时间,参数同DateField。
DateTimeField:日期时间,参数同DateField。

模型关联

1.  ForeignKey:一对多,将字段定义在多的一端中。
2   ManyToManyField:多对多,将字段定义在任意一端中。
3   OneToOneField:一对一,将字段定义在任意一端中。
4   自关联:可以维护递归的关联关系,使用'self'指定

一对多:
在这里插入图片描述
多对多:
在这里插入图片描述
一对一
在这里插入图片描述

模型查询

查询两大特性:
	惰性查询:
	缓存:
#两种查询单个方式
def detail(request,id):
#查询一个人 第一种方法
 person = Person.objects.filter(id=id).first()

#如果你用这种方法查询的话 ,如果数据不存在 会抛出异常。
如果想让你的程序不能奔溃
 #需要加一个异常捕获
try:
  person = Person.objects.get(id=id)
  except Person.DoesNotExist as e:
  print(e)
  return render(request, 'app05/jianli.html', locals())

限制查询集
Person.objects.all()[0:5]

在这里插入图片描述
在这里插入图片描述

create_time:创建的时间
update_time:更新时间   

isshow 是否显示 False True

isdelete 是否删除 False

position 索引字段


注意:不要轻易删除用户一些数据

有些数据不要轻易物理删除, 
迁移
python manage.py makemigrations
python manage.py migrate
如果你的models里面有choice这样的选择
前端显示的通过 对象.get_字段_display 

自定义管理器

元选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值