创建的时候 在app下的 models.py 文件下 ,注意 model.py 名字不能修改
使用mysql的童鞋,在django 默认使用的是 mysqldb, 但是,py3 里面没有,需要import pymysql。
以下的代码都是 views.py 中的代码, url自己做对应吧。
在 项目名的目录下 的__init__.py 文件中 ,写上如下代码:
1 import pymysql 2 3 pymysql.install_as_Mysqldb()
创建表格:(写在app 下的models.py 中的代码):
1 from django.db import models 2 3 class Useinfo(models.Model): 4 username = models.CharField(max_length=32) 5 password = models.CharField(max_length=64) 6 age = models.IntegerField()
写完代码以后 使用命令:
python manage.py makemigrations
python manage.py migrate
使用这两个命令之后才会完成创建表格,以上代码表示 创建的是一个有三个列的表格,
实际上 django自己还创建了一个名字为ID的列, 并且是主键,自增id,默认的。
添加数据 方法1:(创建时候是在 views.py文件中)
1 from django.shortcuts import HttpResponse 2 from app01 import models #app01 是app名字 3 def orm(request): 4 models.Useinfo.objects.create(username='alex', # Useinfo 是创建的类的名字
5 password= '123', 6 age=18)
#方法2
7 dict={'username':'张三','password':'456','age':15} 8 models.Useinfo.objects.create(**dict) 9 10 return HttpResponse('orm')
方法1 和方法2 类似, 使用方法2的时候 字典前面要加 ‘**’, 推荐使用 方法1,一行解决。
方法3
1 from django.shortcuts import HttpResponse 2 from app01 import models 3 def orm(request): 4 obj = models.Useinfo(username='李四',password='huluanbian',age=22) 5 obj.save()
查找
1 from django.shortcuts import HttpResponse 2 from app01 import models 3 def orm(request): 4 result = models.Useinfo.objects.all() #result是一个Queryset类型,需要用for循环取出数据 5 for i in result: 6 print( each.id, each.username, each.password, each.age)
models.Useinfo.objects.all() 是查找全部,
条件查找的时候 ,将all(),改成 filter(),括号内写条件, 如 filter(ID = 4 )等
删除:
删除的时候 先用查找的方法 找到要删除的项,然后使用 .delect() 方法
更新:就是更改的意思
更新的时候,也是先用查找的方法,找到要更新的项,然后用 update() 方法
数据库修改表结构
1. 修改字符的指定长度 ,直接修改既可以
1 from django.db import models 2 3 class Useinfo(models.Model): 4 username = models.CharField(max_length=32) #修改字符长度 直接修改就可以 5 password = models.CharField(max_length=64) 6 age = models.IntegerField()
修改后执行两个命令
python manage.py makemigrations
python manage.py migrate
2. 添加字符段,就是添加列,两种方式
1.在命令框会提示你输入默认值,然后创建的新列里面的值 就是刚输入的值
2.在 后面括号里面写上 null=True 表示可以为空
modles.AutoField(primary_key=True) 表示 自增, 在django中 自增是唯一的,而且必须是主键, 所以括号里面要声明主键