Django建立数据库
一、数据库配置
使用前要设置时区TIME_ZONE,TIME_ZONE = 'UTC'
还要注意setting.py配置文件头部的INSTALLED_APPS选项(已安装程序)。确认自建的pollsapp应用已经安装到总项目容器中了。
就是添加一句话:‘pollsapp.apps.PollsappConfig’,
其中 pollsapp 是你创建应用的名字,apps表示应用类别(app应用(我觉得不变)),PollsappConfig表示应用配置,它是每个应用目录下apps.py中的唯一一个函数,粘贴过来就行。
如果没有把应用添加到已安装表中,创建数据表时候,会提示No installed app with label 'pollsapp'.
INSTALLED_APPS = [ 'django.contrib.admin',#管理后台站点 'django.contrib.auth',#用户认证授权系统。 'django.contrib.contenttypes',#内容类型框架 'django.contrib.sessions',#会话框架 'django.contrib.messages',#消息框架 'django.contrib.staticfiles',#管理静态文件的框架
‘pollsapp.apps.PollsappConfig’,#自己创建的应用
] #contrib贡献,出力
在使用应用前,需要在数据库中创建一些表,用命令:(数据库配置)
python manage.py migrate
migrate命令,检查INSTALLED_APPS选项设置,为每个应用创建需要的数据表。
二、创建模型
也就是数据库结构设计和附加的其他元数据。
模型写在某个应用目录的models.py模型文件中(期初也是个空文件)。
from django.db import models # Create your models here. class Question(models.Model):#定义了Question模型,并继承Model类 question_text = models.CharField(max_length=200) #创建了一个CharField类型,放问题描述字段 pub_date = models.DateTimeField('date published')#创建了一个DateTimeField类型,放发布时间 class Choice(models.Model):#定义了Choice模型,并继承Model类 question = models.ForeignKey(Question,on_delete=models.CASCADE)#创建了一个问题Question类型的外键(question)字段属性 #使用ForeignKey(外键)定义了一个关系,标识每个选项(Choice)对象都关联到一个问题(Question)对象。 choice_text = models.CharField(max_length=200)#创建了一个CharField类型,放选择描述 字段 votes = models.IntegerField(default=0)#创建了一个IntegerField类型,放投票数(votes)字段
Django模型支持所有常用的数据库关系:多对一、一对多、多对多。
三、激活
定义了数据库模型后还需要激活才能使用。模型相当于建数据库的想法,哪块放什么样的数据,激活相当于按照这个想法去做出来。
python manage.py makemigrations pollsapp
提示 - Create model Question
- Create model Choice
激活成功。
四、数据库迁移
python manage.py migrate pollsapp 0001
五、模型修改汇总
1.编辑models.py文件
2.运行 python manage.py makemigrations,为模型改变生产迁移文件
3.运行python manage.py migrate ,执行数据库迁移。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具