• Django学习4 数据库demo2


    前边只是简单的执行了下migrate把自带的几个表创建了一下。这个实例是如何创建自己的表。

    1.创建模型

    模型就是MTV中的M(Mondel).模型跟数据库中的表对应。

    在脚本polls/models.py中定义数据库表的名称和表的字段,分别与类名和属性对应。

    1. from django.db import models
    2. # Create your models here.
    3. class Question(models.Model):
    4. question_text=models.CharField(max_length=200)
    5. pub_date=models.DateTimeField('date published')
    6. class Choice(models.Model):
    7. question=models.ForeignKey(Question, on_delete=models.CASCADE)
    8. choice_text=models.CharField(max_length=200)
    9. votes=models.IntegerField(default=0)

    2.激活模型

    在项目的settings.py文件中加入polls应用程序,书里说要加polls.apps.PollsConfig,直接加polls也可以。

    1. INSTALLED_APPS = [
    2. 'django.contrib.admin',
    3. 'django.contrib.auth',
    4. 'django.contrib.contenttypes',
    5. 'django.contrib.sessions',
    6. 'django.contrib.messages',
    7. 'django.contrib.staticfiles',
    8. 'polls',
    9. ]

    3.生成migrate脚本

    python manage.py makemigrations

    此命令会生成一个升级脚本(我觉得它就是给数据库升级用的,所以叫升级脚本,而且脚本有编号,非常符合这个名字)

    polls\migrations\0001_initial.py

    1. C:\Users\Administrator\django3\mysite>python manage.py makemigrations
    2. Migrations for 'polls':
    3. polls\migrations\0001_initial.py
    4. - Create model Question
    5. - Create model Choice

    可以看到每个表会自动创建一个id字段

     

    4.升级数据库

    python manage.py migrate

    执行此命令会自动执行第三步的升级脚本

    1. C:\Users\Administrator\django3\mysite>python manage.py migrate
    2. Operations to perform:
    3. Apply all migrations: admin, auth, contenttypes, polls, sessions
    4. Running migrations:
    5. Applying polls.0001_initial... OK

    5.查看结果

    SQLiteSpy查看,创建了两张表,命名是按照应用程序_模型,外键为模型外键名_id

     

     

  • 相关阅读:
    数据结构--第七天
    java计算机毕业设计基于springboo+vue的旅游自驾游攻略方案分享系统
    TMUX设置鼠标滚轮滑动来浏览之前的前面内容
    第65章 Jquery JSON Table nopCommerce计划任务(ScheduleTasks)的定义实现
    什么浏览器广告少?多御安全浏览器轻体验
    【尚硅谷React】——React全家桶笔记
    鸿蒙架构之AOP
    【SQL刷题】Day6----SQL综合专项练习
    Django —— 用户名和密码配置
    力扣刷题之爬楼梯(7/30)
  • 原文地址:https://blog.csdn.net/jian1009831845/article/details/126527715