数据的增删改查
# 1.增加数据
import models
方法一:
user_obj = models.表类名.objects.create(**kwargs)
例如:
models.User.objects.create(username='mobiel',password='123456')
ps:user_obj 是要添加的数据行本身
方法二:
user_obj = models.表类名(**kwargs)
例如:
user_obj = models.User(username='mobiel',password='123456')
user_obj.save()
ps:user_obj是表
# 2.查询数据
1.精准查找
res = models.表类名.objects.filter(**kwargs) #如果不输入值,默认拿到所有
ps:1.返回的是列表,记得索引取值
2.查询所有
res = models.表类名.objects.all()
# 3.修改数据
方法一:
res = models.表类名.objects.filter(条件).update(更新数据)
方法二
edit_obj = models.表类名.objects.filter(条件).first()
edit_obj.属性=xxx
edit_obj.save()
# 4.删除数据
models.表类名.objects.filter(条件).delete()
models.Userinfo.objects.filter(id=user_id).delete()
表与表之间的关系
一对多
建立原则:外键建在查询数据多的一方
建立方法:xxx = models.Foreignkey(to='表类名')
ps:django会自动在变量名后加_id
多对多
建立原则:外键建在任意一方均可,推荐在使用频率较高的一方
建立方法:xxx = models.ManyToManyField(to='关联表类名')
'''
xxx字段主要是一个虚拟字段,用来告诉OMR标语表之间的关系,ORM会自动生成第三张表
'''
一对一
建立原则:外键建在使用频率较高的一方
建立方法:xxx = OneToOneField(to='表类名')
django中默认都是级联删除,级联更新