• django 创建数据库的基本操作


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

  • 相关阅读:
    HTML浏览器标题栏如何设置
    阿里团队常用的布局——双飞翼布局
    浏览器兼容性问题——IE不支持却很实用的CSS属性Outline和Child
    css选择器:基本选择器
    编程十年
    解决WX-IOS打开公众号网页出现的底部导航条
    Angular6路由复用与延迟加载的冲突解决——看看有备无患
    Ionic2 + Angular4 + JSSDK开发中的若干问题汇总
    [Linq Expression]练习自己写绑定
    [Linq To Sql]解决join时的Collation冲突
  • 原文地址:https://www.cnblogs.com/jiayou888888/p/8074915.html
Copyright © 2020-2023  润新知