首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

完整的 Django 零基础教程|初学者指南 - 第 4 部分 转自:维托尔·弗雷塔斯

您可以使用manage.py 实用程序加载我们的项目来启动 Python shell : python manage.py shell Python 3.6.2 (v3.6.2:5fd33b5, Jul...让我们从导入Board 类开始: from boards.models import Board 要创建新的板对象,我们可以执行以下操作: board = Board(name='Django', description...基本上,它是来自数据库的对象列表。我们可以看到我们有两个对象,但是我们只能读取Board object 。那是因为我们还没有 __str__在Board 模型中定义方法。...再次打开交互式控制台: python manage.py shell from boards.models import Board Board.objects.all() 类,小写的board 指的是Board 模型类的一个实例(或对象): Operation 代码示例 创建对象而不保存 board = Board() 保存对象(创建或更新) board.save

80220

Django之ORM 对象-关系映射(一)

ORM和数据库关系 在 Django 中 model 是数据的单一、明确的信息来源。它包含了存储的数据的重要字段和行为。通常,一个模型(model)映射到一个数据库表。...Django基础篇-模型基础 基本情况: 每个模型都是一个 Python 类,它是 django.db.models.Model 的子类。 ? 模型的每个属性都代表一个数据库字段。...综上所述,Django 提供了一个自动生成的数据库访问 API。 ? 在项目 manage.py 目录下,执行 python manage.py shell 进入 shell ?... Tb.objects.values(*field) 返回一个 ValueQuerySet — 一个特殊的 QuerySet,运行后得到的并不是一系列 model 的实例化对象,而是一个可迭代的字典序列...此时可以使用 distinct(),注意只有在 PostgreSQL 中支持按字段去重。) ? Tb.objects.count() 返回数据库中匹配查询(QuerySet)的对象数量。

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一、Django的基本用法

    Django 项目环境终端 python manage.py shell 这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的...Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。 10....模型类继承自models.Model类 说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长 当输出对象时,会调用对象的str方法 from django.db import models...  测试数据操作 进入python shell,进行简单的模型API练习 python manage.py shell 4、视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数...在mysite中的urls.py中添加urlconf from django.conf.urls import url from django.contrib import admin from App01

    1.7K50

    在__init__中设置对象的父类

    1、问题背景在Python中,可以为对象设置一个父类,从而实现继承。但是,如果想要在实例化对象时动态地指定父类,则会出现问题。...中,对象的父类只能在类定义时指定,不能在实例化对象时动态设置。...第一个解决方案是使用类工厂。类工厂是一个函数,它可以动态地创建类。在类工厂中,可以根据传入的参数来决定创建哪个类。...如果parent是Blue,则创建两个类,Circle和Square,它们的父类都是Blue。最后,它返回创建的类。这样,我们就可以在实例化对象时动态地指定对象的父类了。第二个解决方案是使用依赖注入。...依赖注入是一种设计模式,它可以将对象的依赖关系从对象本身中解耦出来。这样,就可以在实例化对象时动态地注入它的依赖关系。

    10810

    django models.py(python和django)

    文章目录 1.创建模型类 2.shell工具增删改查 2.1增 2.2修改 2.3删除 2.4查询 2.5比较属性 2.6sql中的and、or 2.7mysql的聚合函数 2.8mysql中的排序 2.9...admin.site.register(Brand) admin.site.register(Goods) 1) 数据库表名 模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名...生成迁移文件 python manage.py makemigrations 同步到数据库中 python manage.py migrate 创建测试数据: INSERT INTO brand(NAME...工具增删改查 打开pycharm输入 python manage.py shell 2.1增 create方法也可以增加数据 2.2修改 也可以这样改 2.3删除 2.4查询 get查询单一结果...makemigrations 同步到数据库中 python manage.py migrate 查询总数量大于库存的商品 2.6sql中的and、or 2.7mysql的聚合函数 使用aggregate

    1.1K10

    Django的ORM操作-创建数据

    ORM-创建操作 基本操作包括增删改查(CRUD)即Create、Read、Update、Delete ORM CRUD核心-> 模型类.管理器对象 管理器对象 每个继承models.Model的模型类...数据库的增删改查可以通过管理器对象实现 class Author(models.Model): Author.objects.create() # objects是管理器对象 Django Shell...在Django中提供了一个交互式的操作项目叫做Django Shell 他能够在交互模式 中的工程的代码执行相应的操作 注意:代码发生变化的时候,请重新进入Django Shell 启动方式:python...manage.py shell 创建数据 Django ORM使用一种直观的方式把数据库表中的数据表示成Python对象 创建数据中每一条记录就是创建一个数据对象 方法一 Author.objects.create...Users\Administrator\Desktop\My_Project>python manage.py shell C:\Users\Administrator\Desktop\My_Project

    48430

    ORM

    创建数据库表 一、在models.py 中种创建模型类 ##一个表对应一个模型类 class BookInfo(models.Model): # 每一个字段对应 表中的一列 title = models.CharField...manage.py 目录 Python manage.py makemigrations 该命令会在应用的migrations目录生成 带有编号的迁移文件 三、执行迁移文件 在 manage.py...目录 Python manage.py migrate Django默认使用sqlite3 数据库 上述命令会在项目根目录生成sqlite3.db **** 迁移文件 需要预先注册应用 四、使用Shell...命令行测试django数据 Python manage.py shell From booktest.models import BookInfo,HeroInfo 1、查询 得到所有 BookInfo.objects.all...多方类名小写_set.all() 多找一:通过多方模型类中存储的一方字段 2、插入 构造对象 b1 b1.save() 3、修改 对象.save() 会将对象中更改的字段保存到数据库 4、

    48240

    Django设计模型1.2

    文件中,通过DATABASES项进行数据库设置 django支持的数据库包括:sqlite、mysql等主流数据库 Django默认使用SQLite数据库 创建应用 在一个项目中可以创建一到多个应用,每个应用进行一种业务处理...创建应用的命令: python manage.py startapp booktest 应用的目录结构如下图 定义模型类 有一个数据表,就有一个模型类与之对应 打开models.py文件,定义模型类...引入包from django.db import models 模型类继承自models.Model类 说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长 当输出对象时,会调用对象的str方法...生成迁移文件:根据模型类生成sql语句 python manage.py migrate 测试数据操作 进入python shell,进行简单的模型API练习 python manage.py shell...进入shell后提示如下: 引入需要的包: from booktest.models import BookInfo,HeroInfo from django.utils import timezone

    45110

    【Django】 开发:静态文件,应用和模型层

    中的应用 - app 应用在Django项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型 创建应用app 创建步骤 用 manage.py 中的子命令 startapp 创建应用文件夹...一个模型类代表数据库中的一张数据表 模型类中每一个类属性都代表数据库中的一个字段。....) # objects 是管理器对象 创建数据对象 Django 使用一种直观的方式把数据库表中的数据表示成Python 对象 创建数据中每一条记录就是创建一个数据对象 MyModel.objects.create...,属性=值) obj.属性=值 obj.save() Django shell 的使用 在Django提供了一个交互式的操作项目叫 它能够在交互模式用项目工程的代码执行相应的操作 利用 Django...Shell 可以代替编写View的代码来进行直接操作 在Django Shell 下只能进行简单的操作,不能运行远程调式 启动方式: $ python3 manage.py shell

    1.8K20

    Django---MTV模型、基本命令、简单配置

    MTV模型 Django的MTV分别代表:        Model(模型):负责业务对象与数据库的对象(ORM)        Template(模版):负责如何把页面展示给用户        View...manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。...makemigrations python manage.py migrate ''' 这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,...shell 这个命令和 直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据的测试非常方便。...9、Django 项目环境终端 ython manage.py dbshell Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码

    2.7K70

    Django流程_菜鸟裹裹收费标准

    创建第一个项目 1、在合适位置创建一个目录 2、打开DOS进入到上一步创建的目录下 3、输入:django-admin startproject project 4、目录层级说明 manage.py _...类 6、在数据库中生成数据表 a、生成迁移文件 b、执行迁移 7、测试数据操作 a、进入到python shell b、执行:python manage.py shell c、引入包: d、查询所有数据...4、激活应用 在setting.py文件中,讲myApp应用加入到INSTALLED-APPS选项中 5、定义模型 概述:有一个数据表,就应该对应一个模型 在models.py中定义模型 引入...相当于执行sql语句创建数据表 7、测试数据操作 a、进入到python shell b、执行:python manage.py shell c、引入包: from myAPP.models...中,视图对web请求进行回应 视图就是一个python函数,在views.py文件中定义 b、定义视图 from django.http import HttpResponse def index(request

    1.3K30

    后端框架学习-Django

    manage.py migrate 进入 Django Shell python manage.py shell 创建admin python manage.py createsuperuser 清理已过期...在模板中使用实际括号是无效的语法,如果需要指示优先级,则应该选择嵌套if for标签 语法 {% for 变量 in 可迭代对象 %} …循环语句 {% empty %} …可迭代对象无数据时填充语句...obj = Mymodel(属性 = 值,属性 = 值) obj.属性 = 值 obj.save() 需要使用Django Shell python manage.py shell...后台的创建: python manage.py createsuperuser 注册自定义模型类 在应用的admin.py导入注册要管理的models类 调用admin.site.register方法进行注册...Django提供了Paginator类可以方便的实现分页功能 Paginator类位于’django.core.paginator’模块中 paginator对象 负责分页数据整体的管理

    9.6K40

    Django 1.10中文文档-第一个应用Part2-模型和管理站点

    每个模型由一个子类django.db.models.Model的类表示。每个模型都有一些类变量,每个变量表示模型中的数据库字段。...我们将在本教程的后续章节对迁移进行深入地讲解,但是现在,请记住实现模型变更的三个步骤: 修改你的模型(在models.py文件中); 运行python manage.py makemigrations...使用如下命令来调用Python shell: python manage.py shell 我们使用上述命令而不是简单地键入“python”进入python环境,是因为manage.py 设置了DJANGO_SETTINGS_MODULE...绕过manage.py: 果你不想使用manage.py,只要设置DJANGO_SETTINGS_MODULE 环境变量为 mysite.settings,启动一个普通的Python shell,然后建立...如果你不了解Python中时区的处理方法,你可以在时区支持的文档中了解更多的知识 保存修改后,我们重新启动一个新的python shell python manage.py shell,再来看看其他的API

    2.3K60

    Django学习

    导出数据   python manage.py loaddata appname.json项目环境终端  python manage.py shell数据库命令行  python manage.py dbshell...-(项目路由)-Blog App--views.py-(应用路由)-hello_world函数--浏览器一、模型层简介1 模型层是什么位于Django视图层和数据库之间Python 对象和数据可之间转换屏蔽不同数据库之间的差异开发者更加专注于业务逻辑的开发提供很多便捷工具有助开发...shell1 Django shell是什么Django shell 用于交互式的python编程Django shell 也类似,继承Django项目环境2 为什么需要Django shell临时性的操作使用...Django shell更加方便小范围Debug更简单,不需要运行整个项目来测试python manage.py shell 命令进入开发测试四、初始Django Admin模块1 Django Admin...是什么Django的后台管理工具读取定义的模型元数据,提供强大的管理使用页面2 为什么需要学Django Admin模块Django Shell 新增文章太复杂了管理页面是基础设施中重要的部分认证用户、

    68520

    django 学习笔记一

    也可以放在 setting 中 自定义设置要求 设置名称全部是大写 不要使用一个已经存在的设置 global_setting.py 目录中并没有此文件,此文件路径在 django/conf/global_setting...manage.py shell 配置文件中 settings INSTALLED_APPS 中增加 polls 执行命令,让 Django 知道 polls 应用 python manage.py makemigrations...polls 查看改动 python manage.py sqlmigrate polls 0001 修改你的模型(在models.py文件中)。...shell 进入 shell 命令行 python manage.py shell # 查询所有 Question.objects.all() # 过滤查询 Question.objects.filter...你可以通过在注册对象的时候告知Django一些你想要的选项来完成。 让我们通过对编辑表单上的字段重新排序来看一下它是如何工作的。

    1K20

    第15篇-使用Django进行ElasticSearch的简单方法

    在Meta内部,您告诉ElasticSearch您希望索引被命名为什么。这将是ElasticSearch的参考点,以便当在数据库中初始化索引并保存每个创建的新对象实例时,它知道要处理的索引。...然后,您将生成器传递给常规数据库中 actions= 所有 BlogPost 对象并对其进行迭代,并 .indexing() 在每个对象上调用方法。为什么要使用发电机?...因为如果要在生成器上迭代的对象很多,则不必先将它们加载到内存中。 上面的代码只有一个问题。您 .indexing() 的模型上还没有方法。...通过运行, python manage.py shell 您进入Django shell并使用导入您 search.py 的 from elasticsearchapp.search import *...在shell中: from elasticsearchapp.search import * 并运行 print(search(author="")) : print(search

    5.3K00
    领券