模型增删改查

  首先,在Django中定义我们的数据库模型。

  第一步,就是要将想注册的模型的app进行注册。

  第二步,就是在settings中进行配置。(DATABASES)

  接下来就是定义模型:

class Student(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    sex = models.SmallIntegerField(default=0)
    age = models.SmallIntegerField(null=True)
    phone = models.CharField(max_length=20, null=True)

  # 可以返回内容
    def __str__(self):
        return '<student id=%s name=%s age=%s>'%(self.id,self.name,self.sex)

  模型定义好之后,要进行模型到数据库的映射:

    将模型映射到数据库:
    1 创建映射文件 python manage.py makemigrations 可以跟某个app名称
    2 将映射文件中的映射数据提交到数据库中
    python manage.py migrate

 

  我们在views中定义视图函数:

def add_user(request):
    ben = Student(name='liu', age=10,sex=1)
    # 对数据库进行增加修改删除 都要保存
    ben.save()

    # 方法二
    big = Student()
    big.name = 'jiucheng'
    big.age = 18
    big.sex=1
    big.save()

    # 方法三
    Student.objects.create(name='hansha', age=20)

    # 方法四
    Student.objects.get_or_create(name='baian', age=23,sex=0)

    return HttpResponse('添加数据成功')

def search_user(request):
    # 查询所有
    rs = Student.objects.all()
    # 查询指定一条
    first = Student.objects.get(id=1)
    # 满足指定条件查询
    hansha = Student.objects.filter(name='hansha')
    print(hansha)  # 用到了重改的方法  __str__
    # 或者 hansha[0].name  获取数据
    return HttpResponse("查询成功")

上述方法,必须要先进行访问页面。也可以在命令行查看。

命令函查看
首先要导包
from student.models import Student
Student.objects.all() 会全部显示数据

 

从数据库中查询的结果一般是一个集合,这个集合叫做 Queryset
Queryset是可迭代对象
Queryset支持切片,的那部支持负索引
可以用list强行将Queryset变成一个list

  我们delete() 方法进行删除。因为,之前设置的id是自增的,所以删除掉一个数据再增加的时候回跳过删除数据的id

  下面附上一些相关的查询语句:

 

 

posted @ 2020-04-03 22:27  为红颜  阅读(107)  评论(0编辑  收藏