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>

条件查询:

查询谓词:

修改数据:

删除操作:

单个删除:

批量删除:

伪删除:

相关推荐
databook1 小时前
使用 SciPy 库进行时间序列分析
python·数据分析·scipy
java资料站1 小时前
十一、评估测试
开发语言·人工智能·python
szial1 小时前
网络爬虫与 CDP 实战(二):浏览器能访问,Python 却被拒绝?拆开登录态与 CSRF
爬虫·python·csrf
扶风ff2 小时前
新品知识更新太快?用练题簿在线刷题,安排企业培训的小测与复盘
前端·学习·小程序
青少儿编程课堂2 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
怕浪猫3 小时前
LLM 面试必问的 8 个问题,答不上来直接淘汰
人工智能·python·面试
老歌老听老掉牙3 小时前
从三维旋转的深度解析到Python实现:绕任意轴旋转的奥秘
python·三维旋转
打工仔折腾 AI4 小时前
工业场景下时序库与实时计算一体化架构选型实践对比
java·开发语言·后端·python·性能优化·架构·ai agent 实战
梦幻精灵_cq4 小时前
sumdir——一个伪python.built-in的“术法”打造
python
传奇开心果编程4 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift