Django学习- ORM基础操作_创建数据

ORM操作:

管理器对象:

创建数据:

Django shell

想要操作模型对象,首先我们需要把它引进Django shell中

复制代码
>>> from bookstore.models import Book
>>> b1 = Book.objects.create(title='AI', pub='清华大学出版社', price= 20,market_price = 25)
>>> b2 = Book(title='爱',pub='清华大学出版社',price=70,market_price = 50)
>>> b2.save()

查询数据:

例子:

第一步:在django学习下的settings中添加bookstore

python 复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'music',
    # 'news',
    # 'sport',
    'bookstore'
]

第二步:在 django学习下的urls添加bookstore

python 复制代码
from django.contrib import admin
from django.urls import path,include,re_path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    # 主路由链接需要加/
    #path('music/',include("music.urls")),
    #path('sport/',include("sport.urls")),
    #path('news/',include("news.urls")),
    path('bookstore/',include('bookstore.urls'))
]

第三步:在bookstore的模型和视图以及url

urls.py:

python 复制代码
from django.urls import path
from . import views

urlpatterns = [
    path('all_book', views.all_books, name='all_book')
]

views.py:

python 复制代码
from django.shortcuts import render

from bookstore.models import Book


# Create your views here.

def all_books(request):
    books = Book.objects.all()
    return render(request, 'bookstore/all_book.html',locals())

all_book.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>查看所有书籍</title>
</head>
<body>
<table >
    <tr>
        <th>id</th>
        <th>title</th>
        <th>pub</th>
        <th>price</th>
        <th>market_price</th>
        <th>op</th>
    </tr>
    {% for book in books %}
        <tr>
            <td>{{ book.id }}</td>
            <td>{{ book.title }}</td>
            <td>{{ book.pub }}</td>
            <td>{{ book.price }}</td>
            <td>{{ book.market_price }}</td>
            <td>
                <a href="">删除</a>
                <a href="">更新</a>
            </td>
        </tr>
    {% endfor %}
</table>
</body>
</html>

条件查询:

查询谓词:

修改数据:

删除操作:

单个删除:

批量删除:

伪删除:

相关推荐
曲幽5 小时前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透
python·sql·postgresql·fastapi·web·postgres·db·asyncpg
用户83562907805110 小时前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞12 小时前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派14 小时前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪16 小时前
AI 数学辅导老师项目构想和初始化
前端·后端·python
用户03321266636716 小时前
将 PDF 文档转换为图片【Python 教程】
python
悟空爬虫18 小时前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派18 小时前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风20 小时前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python
曲幽1 天前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic