首页 > 其他 > 详细

django学习笔记之ORM入门

时间:2018-05-31 17:55:59      阅读:182      评论:0      收藏:0      [点我收藏+]

django为数据库的使用提供一种新的方式,关系对象映射(ORM)

  • 创建表
  • 操作表

一、创建表

首先需要在app目录下的models.py文件中创建类和字段,models.Model是必须要传入的参数:

class User(models.Model):
    age = models.IntergerFiled()
    name = models.CharField(max_length=10)#字符长度

然后执行两个命令

Python manage.py makemigrations
python manage.py migrate

要注意需要在settings.py文件下先注册app,不然不知道应该将数据库的修改信息写入到哪一个app的migrations文件下面。

类创建好之后,我们以后就可以通过对类的操作从而进行表的增删改查

 

二、操作表

增加字段(models.类名.objects.create):

models.User.objects.create(name=‘qianxiaohu‘,age=18)
或者: dic = {‘name‘: ‘xx‘, ‘age‘: 19} models.User.objects.create(**dic)
还可以:
obj = models.User(name=‘qianxiaohu‘,age=18)
obj.save()

 删除某一个字段(models.Users.objects.filter(条件).delete():

models.User.objects.filter(id=1).delete()

 修改(models.objects.filter().update()):

models.User.objects.filter(id__gt=1).update(name=‘alex‘,age=84)
ic = {‘name‘: ‘xx‘, ‘age‘: 19}
models.User.objects.filter(id__gt=1).update(**dic)#__gt表示大于

 查询-->filter

models.User.objects.filter(id=1,name=‘root‘)
models.User.objects.filter(id__gt=1,name=‘root‘)#__gt表示大于
models.User.objects.filter(id__lt=1)#小于
models.User.objects.filter(id__gte=1)#大于等于
models.User.objects.filter(id__lte=1)#小于等于
			
models.User.objects.filter(id=1,name=‘root‘)
dic = {‘name‘: ‘xx‘, ‘age__gt‘: 19}
models.User.objects.filter(**dic)

外键:

外键:
			class UserType(models.Model):
				caption = models.CharField(max_length=32)
		      id  caption
			# 1,普通用户
			# 2,VIP用户
			# 3, 游客
				
			class User(models.Model):
				age = models.IntergerFiled()
				name = models.CharField(max_length=10)#字符长度
				# user_type_id = models.IntergerFiled() # 约束,
				user_type = models.ForeignKey("UserType",to_field=‘id‘) # 约束,
		
			  name age  user_type_id     
			# 张扬  18     3
			# 张A扬 18     2
			# 张B扬 18     2

  

 

 

 

django学习笔记之ORM入门

原文:https://www.cnblogs.com/mesunyueru/p/9117807.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!