django的增删改查
时间: 2025-01-09 10:59:38 浏览: 2
### Django 实现 CRUD 操作教程
#### 配置 `settings.py` 文件
为了在 Django 项目中集成支持 CRUD 的扩展功能,需修改项目的设置文件 `settings.py`,确保其中包含了必要的应用程序:
```python
INSTALLED_APPS = [
...
'ninja_crud',
...
]
```
此配置使得可以利用 Django Ninja CRUD 提供的功能来简化开发过程[^1]。
#### 定义模型类
定义好相应的数据库表结构对于执行 CRUD 至关重要。通过继承自 `django.db.models.Model` 来创建新的模型类表示一张表格及其字段属性。例如:
```python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
def __str__(self):
return self.title
```
上述代码片段展示了如何建立名为 "Book" 的书籍实体以及其两个主要属性——书名 (`title`) 和作者姓名 (`author`)[^5]。
#### 执行迁移命令同步到数据库
每当更改了模型定义之后都需要运行如下两条指令让这些变化反映至实际使用的数据库之中:
```bash
python manage.py makemigrations
python manage.py migrate
```
这两条命令分别用于生成并应用针对当前版本所做的任何模式上的调整[^4]。
#### 编写视图函数处理请求响应逻辑
接下来就是编写具体的业务逻辑部分,在这里主要是指负责接收客户端发来的 HTTP 请求并对之作出适当回应的方法体。借助于 Django Ninja CRUD 可以更加便捷地完成这一工作,因为该库允许开发者采用声明式的语法描述所需的操作接口而无需手动编码每一个细节[^2]。
假设已经按照官方文档说明完成了必要初始化,则可参照下面的例子快速搭建起一套完整的 RESTful API 接口集:
```python
from ninja_crud.viewsets import ModelViewSet
from .models import Book
class BookViewSet(ModelViewSet):
model_class = Book
# 自动注册一系列标准路径映射关系...
# 注册路由规则以便能够访问新设立的服务端点
router.register("books", BookViewSet, basename="book")
```
这段脚本自动为指定的数据集合提供了基本的增删改查能力,并且还附带了一些额外特性比如分页显示结果列表等[^3]。
#### 测试验证各项功能正常运作
最后一步是要确认所编写的程序确实按预期行事。可以通过多种方式来进行测试;最简单的是直接调用 Python Shell 或者 PyCharm 内建的交互环境尝试一些简单的查询语句看看能否得到期望的结果。另外也可以考虑使用 Postman 这样的第三方工具模拟真实场景下的网络通信流程从而更全面彻底地检验整个系统的健壮性和稳定性。
阅读全文