Django数据库的增删改查操作

一、新增

env = Env(env_name=env_name,hostname=hostname)
env.save()

 

二、删除

Env.objects.get(env_id=env_id).delete()

 

三、更新

Env.objects.filter(env_id=env_id).update(env_name=env_name,hostname=hostname,password=password,defaultUser=defaultUser,defaultPwd=defaultPwd,description=description)

 

四、查询

1、查询所有

env_list = Env.objects.all()

2、条件查询

env_list = Env.objects.get(env_id='env_id')

 条件查询的时候可以看一下models.py , 我之前定义了return,然后我使用get时,只给我返回return里的参数,注释后返回全部的参数了

class Interface(models.Model):
    if_id = models.AutoField(primary_key=True, null=False)
    if_name = models.CharField(max_length=50)
      ...
    # def __str__(self):
    #     return self.if_name

3、查询某一列的数据

env_list = Env.objects.values("hostname")
 Blog.objects.get(id__exact=14) # Explicit form
>>> Blog.objects.get(id=14) # __exact is implied
这两种方式是等同的,都是查找id=14的对象。

>>> Blog.objects.get(name__iexact=”beatles blog”)
查找name=”beatles blog”的对象,不去饭大小写。

Entry.objects.get(headline__contains=’Lennon’)
等同于SELECT … WHERE headline LIKE ‘%Lennon%’;

startswith 等同于sql语句中的 name like ‘Lennon%’,
endswith等同于sql语句中的 name like ‘%Lennon’.

4、模糊查询 

if_name__icontains  字段名+ '__icontains'

5、 条件查询 

from django.db.models import Q

if_list = Interface.objects.filter(Q(if_pb__icontains=if_pb) | Q(if_name__icontains=if_pb))  # 模糊查询,不区分大小写  取反用 ~Q

 

posted @ 2021-12-14 11:25  sugoi  阅读(343)  评论(0)    收藏  举报