创建的时候 在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中 自增是唯一的,而且必须是主键, 所以括号里面要声明主键