python-0009-django对数据的增删改

shell

在虚拟环境中,可以使用python manage.py shell,打开命令行。在命令行中,所见即所得,相当于执行代码片段

对象

python 复制代码
from django.db import models

# Create your models here.

class BookInfo(models.Model):
    name = models.CharField(max_length=10,unique=True)
    pub_date = models.DateTimeField(null=True)
    read_count = models.IntegerField(default=0)
    commentcount = models.IntegerField(default=0)
    is_delete = models.BooleanField(default=False)

    class Meta:
        # 修改表的名称
        db_table = 'bookinfo'
        # 站点使用
        verbose_name = '书籍管理'


class PeopleInfo(models.Model):
    # 创建字典
    GENDER_CHOICE = (
        (0,'male'),
        (1,'female')
    )
    name = models.CharField(max_length=10, verbose_name='名称')
    gender = models.SmallIntegerField(choices=GENDER_CHOICE,default=0,verbose_name='性别')
    description = models.CharField(max_length=300,verbose_name='描述',null=True)
    is_delete = models.BooleanField(default=False,verbose_name='逻辑删除')
    book = models.ForeignKey(BookInfo,on_delete=models.CASCADE)

    def __str__(self):
        return self.name

    class Meta:
        # 修改表的名称
        db_table = 'peopleinfo'
        # 站点使用
        verbose_name = '读者信息'

创建一个python

创建crud-demo.py,用来写代码(方便),之后拷贝到shell里面

from book.models import BookInfo

python 复制代码
# 1.新增
# 方式1
book = BookInfo(
    name="完美世界",
    pub_date= "2019-01-01",
    read_count=10000,
    commentcount=1000000
);
# 手动保存
book.save()


# 方式2
BookInfo.objects.create(
    name="斗罗大陆",
    pub_date= "2018-10-01",
    read_count=2000,
    commentcount=200000
);

# 修改
# 方式1
book = BookInfo.objectt.get(id=3)
book.read_count = 300000
book.save()

# 方式2
column = BookInfo.objects.filter(id=6).update(read_count=6000)
print(column)

# 删除
# 方式1
BookInfo.objects.filter(id=6).delete();
# 方式2
BookInfo.objects.get(id=8).delete();
相关推荐
FreeCode1 小时前
使用LangSmith追踪智能体运行
python·langchain·agent
2501_941112141 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
程序员晚枫1 小时前
Python文件类型大全:从.py到.pyd,你见过几种?
python
计算衎1 小时前
python的AI大模型之facebook/nllb-200-distilled-600M的介绍和使用
人工智能·python·facebook·huggingface_hub
java_logo2 小时前
BUSYBOX Docker 容器化部署指南
java·运维·python·nginx·docker·容器·运维开发
2501_941111822 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python
小呀小萝卜儿3 小时前
2025-11-14 学习记录--Python-使用sklearn+检测 .csv 文件的编码+读取 .csv 文件
python·学习
java1234_小锋3 小时前
[免费]基于python的Flask+Vue医疗疾病数据分析大屏可视化系统(机器学习随机森林算法+requests)【论文+源码+SQL脚本】
python·机器学习·数据分析·flask·疾病数据分析
河铃旅鹿4 小时前
Android开发-java版:SQLite数据库
android·数据库·笔记·学习·sqlite
MediaTea4 小时前
Python 第三方库:cv2(OpenCV 图像处理与计算机视觉库)
开发语言·图像处理·python·opencv·计算机视觉