Django支持sqlite3, MySQL, PostgreSQL等数据库,如果不设置,默认使用sqlite数据库
1,创建项目,名为sqliteTest
在项目中创建一个应用,名为sqTest
django-admin startproject sqliteTest cd sqliteTest/ django-admin startapp sqTest
2,将新建的应用添加到项目下的sqliteTest文件夹中的settings.py中,告诉Django有sqTest这个应用
setting.py中有一个属性INSTALLED_APPS,将sqTest填入。
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ‘sqTest’ ]
3,在sqTest文件夹的models中添加需要的数据的类。比如我需要一些NBA球员的数据,所以我创建一个Player类,里面包含几个属性,分别为姓名,年龄,位置,号码。其中,CharField表示该属性应该为一个字段,IntegerField表示该属性为一个整数。max_length表示最大长度。
class Player(models.Model): name = models.CharField(max_length=30) age = models.IntegerField() position = models.CharField(max_length=10) number = models.IntegerField()
4,在终端中输入
python manage.py makemigrations python manage.py migrate
输入之后会自动生成models中的数据表,比如刚才的Player类,此时生成了一个Player表。可以通过终端,django自带的数据库管理后台等方式查看。
5,终端查看
使用python manage.py shell进入命令行,之后读取Player
>>> Player.objects.all() <QuerySet []> >>> Player.objects.create(name="Curry", age=28, position="G", number=30) <Player: Player object>
第一次使用Player.objects.all()命令查看Player中的所有数据时,因为没有写入过,所以为空。
使用create创建一个球员Curry,再次查看,出现<Player: Player object>。但是此时打印出来的数据可读性不强,所以退出命令行,在model中添加一个__str__方法,增加可读性。
def __str__(self): return self.name
此时再次进入命令行,读取Player
>>> from sqTest.models import Player >>> Player.objects.all() <QuerySet [<Player: Curry>]>
输出时出现了数据的名字,可读性增强。
6,添加数据库,除了上面一种方法,还有两种方法创建。
(1)创建一个Person类的实例,给实例的属性赋值,最后使用save()方法将实例存入数据库。
>>> player = Player(name="Durant") >>> player.age = 28 >>> player.position = "F" >>> player.number = 35 >>> player.save() >>> Player.objects.all() <QuerySet [<Player: Curry>, <Player: Durant>]>
(2)使用get_or_create创建,防止重复,如果插入相同的,会失败。如果如果只用create,会使表中有两个相同的数据
>>> Player.objects.get_or_create(name="Curry", age=28, position="G", number=30) (<Player: Curry>, False)
7,获取对象
(1),获取该数据表所有数据:
>>> Player.objects.all()
(2),get方法,只能获取一个值,如果获取的值有两个,会失败
>>> Player.objects.get(name="Durant") <Player: Durant> >>> Player.objects.get(age=28) sqTest.models.MultipleObjectsReturned: get() returned more than one Player -- it returned 2!
age为28的有两个,所以第二次获取失败。
(3),filter筛选多个
>>> Player.objects.filter(age=28) <QuerySet [<Player: Curry>, <Player: Durant>
相关推荐
基于Python的Django框架和Sqlite3数据库实现的机票预订系统
Python基于Django2.0 + sqlite的网络健身俱乐部网站设计源码+数据库(高分毕设).zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子...
今天小编就为大家分享一篇django 连接数据库 sqlite的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
## 开发环境: Pycharm + Python3.7 + Django2.0 + sqlite数据库 设计一个健身俱乐部网站,一共有3个身份:学员,教练和超级管理员。学员注册登录后可以查询教练信息,查询课程信息,也可以订阅收藏教练和课程,...
今天小编就为大家分享一篇DJango的创建和使用详解(默认数据库sqlite3),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
django+python+sqlite实现的简单登录注册功能的网页,运行环境为python+django
开发环境: Pycharm + Python3.7 + Django2.0 + sqlite数据库 设计一个健身俱乐部网站,一共有3个身份:学员,教练和超级管理员。学员注册登录后可以查询教练信息,查询课程信息,也可以订阅收藏教练和课程,其中...
使用 Python + Django 作为后端实现; 使用 SQLite 进行数据库实现,也可将其换为 MySQL、Oracle 等,仅需提供连接地址、用户名及密码。 用户端功能: 顾客进入系统浏览整体菜单; 顾客根据菜单进行选菜下单点菜; ...
3.创建sqlite3数据库 3.生成test.db文件 4.在setting文件中添加数据库配置 5.进cmd进行数据库连接 6.定义模型 7. 安装模型 setting文件,INSTALLED_APPS中添加对应app名称 8. 注册model到admin 9.创建表格 ...
前端: bootstrap3 css 框架 后端: django 2.2.1 + sqlite3数据库 (MVC框架) 主要功能: 录入图书信息,用户打分,歌曲标签分类,歌曲推荐,歌曲分享,歌曲收藏,后台管理系统。 整体采用MVC架构,前端页面通过django...
'ENGINE': 'django.db.backends.mysql', 'NAME': 'wechat', 'USER':'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'PORT':'3306', } } 然后 msql -u root -p 输入密码 create database wechat ...
完成前端 登录并注册 将jwt添加到API 删除和编辑帖子的权限和访问权限设置 查看柜台 台式机和移动版博客阅读器
毕业设计,基于Python+Django+Sqlite开发的校园二手交易跳蚤市场网站,内含Python完整源代码,数据库脚本 基于Python+Django+Sqlite校园二手交易跳蚤市场网站设计毕业源码案例设计 基于python的跳蚤市场:二手交易...
本篇论文将研究如何使用Python和Django框架,结合sqlite数据库实现一个电子书图书商城网站系统。该系统将包括用户注册、登录、浏览书籍、添加到购物车、下订单等核心功能。 首先,我们需要进行系统需求分析,确定...
django-s3-sqlite允许将用作Django数据库引擎。 这将为具有并发写入**的应用程序带来问题,但是对于没有并发写入的高读取应用程序(例如您博客的CMS),它的扩展性很好,并且比AWS RDS或Aurora便宜几个数量级(便士...
基于Python+Django+Sqlite校园二手交易跳蚤市场网站设计与实现 毕业设计-源码+数据库+使用文档(高分项目) 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目...