Django-ORM 创建表模型及对数据库数据进行增删改查

1.创建模型

class Book(models.Model):
    id = models.AutoField(primary_key=True) # id 会自动创建,可以手动写入
    title = models.CharField(max_length=32) # 书籍名称
    price = models.DecimalField(max_digits=5, decimal_places=2) # 书籍价格
    publish = models.CharField(max_length=32) # 出版社名称
    pub_date = models.DateField() # 出版时间

DecimalField 是 Django 框架中用于存储精确小数值的字段类型。
BooleanField是Django模型中的一个字段类型,专门用于存储布尔值(True或False)

2.数据库添加
方法一:模型类实例化对象

from django.shortcuts import render,HttpResponse
from app01 import models 
def add_book(request):
    book = models.Book(title="菜鸟教程",price=300,publish="菜鸟出版社",pub_date="2008-8-8") 
    book.save()
    return HttpResponse("<p>数据添加成功!</p>")

方法二:通过 ORM 提供的 objects 提供的方法 create 来实现(推荐)

from django.shortcuts import render,HttpResponse
from app01 import models 
def add_book(request):
    books = models.Book.objects.create(title="如来神掌",price=200,publish="功夫出版社",pub_date="2010-10-10") 
    print(books, type(books)) # Book object (18) 
    return HttpResponse("<p>数据添加成功!</p>")

3.查找数据
https://www.runoob.com/django/django-orm-1.html

4.删除

5.修改
方法一:
模型类的对象.属性 = 更改的属性值
模型类的对象.save()

books = models.Book.objects.filter(pk=7).first() 
books.price = 400 
books.save()

方法二:QuerySet 类型数据.update(字段名=更改的数据)(推荐)

from django.shortcuts import render,HttpResponse
from app01 import models 
def add_book(request):
    books = models.Book.objects.filter(pk__in=[7,8]).update(price=888)
    return HttpResponse(books)
posted @ 2025-03-19 15:25  起名字太难0123  阅读(70)  评论(0)    收藏  举报