Go教程

Django的models及数据库的增删改查

本文主要是介绍Django的models及数据库的增删改查,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通过models建立数据库表

在项目中的models.py新建一个类

class Student(models.Model):
    s_name = models.CharField(max_length=10)
    s_age = models.IntegerField(default=1)

在terminal终端中运行, python manage.py makemigrations, 创建迁移文件夹
python manage.py migrate
数据库中就有了student数据表

往数据表中添加数据记录 add

在urls.py中 加一个 re_path
然后在views.py中加入add_student函数

def add_student(request):
    student = Student()
    student.s_name = 'mei%d' % random.randrange(100)
    # age字段因为设置了默认值1 ,所以不用添加
    student.save()  # 此处一定要带上()
    return HttpResponse("添加到数据库成功%s" % student.s_name)

注意 继承类 有括号 **** save也要有括号
获取记录get

def get_students(request):
    students = Student.objects.all()
    #for student in students:
    #    print(student.s_name)
    context = {
        "gap1": "这是填第一个位置",
        "gap2": "这是第二个",
        "students":students,
    }
    return render(request, 'studentlist.html', context=context)

注意html中的交互写法

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学生列表</title>
</head>
<body>
<h1>{{ gap1 }}</h1>
<h2>{{ gap2 }}</h2>
<h1>学生列表如下:</h1>
<ul>
    {% for student in students %}
        <li>{{ student.s_name }}</li>
        <li>{{ student.s_age }}</li>

    {% endfor %}

</ul>
</body>
</html>

修改数据表中的记录 update

def update_student(request):
    student=Student.objects.get(pk=5)   #此处的pk是premary key的主键意思
    student.s_name='改名了'
    student.save()
    return HttpResponse("修改学生姓名成功!改成了%s" % student.s_name)

修改数据表中的记录delete

def delete_student(request):
    student=Student.objects.get(pk=4)
    student.delete()
    return HttpResponse("%s删除成功" % student.s_name)
这篇关于Django的models及数据库的增删改查的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!