Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/django-insert-delete-update.html

Django model 数据进行增加、删除、修改操作的详解


在 Django 中,数据的增加、删除、修改操作通常通过对数据库模型(Model)进行操作来实现。Django 提供了便捷的 ORM(对象关系映射)框架,使得这些操作变得简单易用。以下是详细的代码示例和注释,演示了如何在 Django 中进行数据的增加、删除、修改操作。

首先,假设我们有一个简单的模型(Model)代表一个博客的文章,模型定义如下:

# models.py

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

我们的模型 BlogPost 具有三个字段: titlecontentpub_date。接下来,我们将演示如何通过代码进行数据的增加、删除和修改操作。

数据增加(Insert)

要添加新的博客文章,我们需要创建一个新的 BlogPost 对象,并保存到数据库中。以下是数据增加的代码示例:

# views.py

from django.shortcuts import render
from .models import BlogPost

def create_blog_post(request):
    if request.method == 'POST':
        # 从表单中获取数据
        title = request.POST['title']
        content = request.POST['content']
        
        # 创建新的 BlogPost 对象
        new_post = BlogPost(title=title, content=content)
        
        # 保存到数据库
        new_post.save()
        return HttpResponse("文章添加成功!")

    return render(request, 'create_blog_post.html')

数据删除(Delete)

要删除博客文章,我们需要从数据库中获取要删除的对象,并调用 delete() 方法。以下是数据删除的代码示例:

# views.py

from django.shortcuts import render, get_object_or_404
from .models import BlogPost

def delete_blog_post(request, post_id):
    # 根据 post_id 从数据库中获取要删除的博客文章
    post = get_object_or_404(BlogPost, pk=post_id)

    if request.method == 'POST':
        # 删除对象
        post.delete()
        return HttpResponse("文章删除成功!")

    return render(request, 'delete_blog_post.html', {'post': post})

数据修改(Update)

要修改博客文章,我们需要从数据库中获取要修改的对象,并更新其字段后保存。以下是数据修改的代码示例:

# views.py

from django.shortcuts import render, get_object_or_404
from .models import BlogPost

def update_blog_post(request, post_id):
    # 根据 post_id 从数据库中获取要修改的博客文章
    post = get_object_or_404(BlogPost, pk=post_id)

    if request.method == 'POST':
        # 从表单中获取更新后的数据
        title = request.POST['title']
        content = request.POST['content']
        
        # 更新对象的字段
        post.title = title
        post.content = content
        
        # 保存到数据库
        post.save()
        return HttpResponse("文章修改成功!")

    return render(request, 'update_blog_post.html', {'post': post})

上述代码中的 create_blog_postdelete_blog_postupdate_blog_post 是视图函数,用于处理用户请求,并进行数据操作。这里的模板文件 create_blog_post.htmldelete_blog_post.htmlupdate_blog_post.html 都是用于接收用户输入的表单。

es 插件是一种增强 Elasticsearch 核心功能的途径,诸如常用的 ik 中文分词器、可视化操作界面 head 插件、集群监控工具 ...
Transformer、BERT、GPT 和 Seq2Seq 是自然语言处理(NLP)领域中的重要模型。它们在定义概念、网络结构、适用任务上 ...
Spring AOP 通过“面向切面编程”可以在指定的 controller、service、dao 层等,无感知无侵入性地嵌入逻辑;切面编 ...
Elasticsearch修改数据的实现方式Elasticsearch提供了多种方式来修改数据,以便在索引中更新、替换或部分更改文档。### ...
elasticsearch(es) 如何针对指定字段进行去重相关查询,完成如聚合、分组、分页、类似求和统计等操作? ...