博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django学习笔记之ORM入门
阅读量:5250 次
发布时间:2019-06-14

本文共 1737 字,大约阅读时间需要 5 分钟。

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

  • 创建表
  • 操作表

一、创建表

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

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

然后执行两个命令

Python manage.py makemigrationspython 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

  

 

 

 

转载于:https://www.cnblogs.com/mesunyueru/p/9117807.html

你可能感兴趣的文章
【18】平衡二叉树
查看>>
转: ubuntu apt-get 与 aptitude 用法与区别
查看>>
基于ACE的TAO开发---一个简单的入门实例-----VS2008(一)
查看>>
数据库 阶段总结
查看>>
算法之【仿竖式算法】
查看>>
java环境安装说明
查看>>
Jmeter通过BeanShell Sampler获取Jmeter的Bin路径,并存入变量供后面的脚本调用
查看>>
MySQL Migration Toolkit v2.1特别版
查看>>
使用using current logfile实现DG备库实时更新
查看>>
List.Jion
查看>>
一段对16进制字符串进行异或的代码
查看>>
ubuntu设置环境变量
查看>>
C语言Huffman压缩和解压
查看>>
hihocoder1148 February 29(区间闰年计数)
查看>>
HDU-5533 Dancing Stars on Me
查看>>
为什么要用全文搜索引擎:全文搜索引擎 VS 数据库管理系统
查看>>
MySQL添加用户、删除用户与授权
查看>>
利用 DBHelper实现增加、删除、修改数据库字段功能
查看>>
Linux中常用的查看系统信息的命令
查看>>
Android获取手机和系统版本等信息的代码
查看>>