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();
相关推荐
IT毕设实战小研7 分钟前
基于大数据的二手车数据分析与预测
java·大数据·后端·爬虫·python·算法·课程设计
Allen_LVyingbo10 分钟前
医疗AI可扩展网格信息系统中网格计算技术的智能优化
大数据·人工智能·python·算法·机器学习·django·健康医疗
MNLoser12 分钟前
AI agent开发——LangGraph接入持久化
linux·人工智能·windows·python
mmsx18 分钟前
基于 Android 的本地商城订单 App:SQLite + 多角色架构的技术实践(有源码和文档)
android·架构·sqlite
自己的九又四分之三站台23 分钟前
RasterLite2 栅格数据处理函数全量参考:从 Coverage 创建到像元、金字塔与地图输出
sqlite·地理信息
练习两年半的攻城狮28 分钟前
RAG 系统中 Excel/表格数据的正确处理方式
python·llamaindex
Quincy_Freak28 分钟前
银河麒麟终端数据处理标准化实践:SQLiteGo 效能评估与落地路径
sqlite·数据库管理·大数据分析·银河麒麟·aarch64·sqlitego
苏灿烤鱼33 分钟前
九个编码 Agent 共用免费额度,本地代理是路由还是绕开?
python·agent·claude
copyer_xyf1 小时前
Neo4j:给 RAG 补上关系检索
python·agent
whcyhhh2 小时前
CTF‑MISC 隐写术完整学习笔记|图片隐写全题型 + 工具 + 实战例题
python·网络安全·ctf·misc·信息隐藏