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 ,执行数据库迁移。

 

posted @ 2023-04-02 21:53  老人与小孩  阅读(298)  评论(0编辑  收藏  举报