基于django的orm框架

功能
1.创建\删除\修改数据库中的表(不用sql语句),但是不能创建dataabses;
2.更简便的insert,select,group by

首先
1.创建数据库
2.
DATABASES ={
    'default':{
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangotest',   #DB的名字
        'USER': 'root',
        'PASSWORD': 'Xiaoxiao5501',
        'host': '127.0.0.1',
        'port':''

    }
}

3.
from django.db import models

class userinfo(models.Model):
    name = models.CharField(max_length=32)
    pswd = models.CharField(max_length=32)
    age = models.integerfield()

这个是orm命令,即创建一个表,其中name为varchar最大32位,pswd为varchar最大为32位,age为int
首先app是需要在setting中
然后在终端中执行
 python manage.py makemigrations
 python manage.py migrate
然后再自己创建的database中会创建表
最后就会创建这些表
|app01_userinfo             |
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session        |

想要增加新的表和或者删除表,则再models中新建一个class
class ???(models.Model):
    ???
    ???

想要删除表,直接注释掉
每次进行更新,都需要运行makemigrations和migrate
但是注意,如果需要更新新的列,需要设定默认为空,或者设置新的default值
例如age=models.integerfield(null=true,blank=true)  //可以默认为空
如果在括号内什么也不写,则pycharm会提醒你进行操作,是否设置默认值


新增数据
在models中写入
???.objects.create (列名称="???")
找到类,添加数据.

删除数据
??.objects.filter(判定条件).delete()
或者
???.objects.all().delete()
删除的逻辑是前面先筛选,后面是.delete()

获取数据
???.objects.all()  这实际上是queryset类型
可以通过一个变量来获取列表内数据,如果只是单纯的print出来,获取的不是列表中的数,而是一个数据行对象,它会显示 ???object (1);???object(2);...
所以可以通过循环打印输出数据
例如
 data=userinfo.objects.all()
    for obj in data:
    print(obj.id,obj.name,obj.password,obj.age)
这样就可以在pycharm终端里面查看数据了

也可以进行条件查询
???.objects.filter(查询条件)
也可以只获得一个对象内的第一行数据
???.object.filter().first


更新数据
???.objects.filter(判定条件).update(???=???)    条件更新
???.objects.all.update(???=???)        全部更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值