• Django1.11模型使用


    1. 数据库设置

    默认情况下,配置使用SQLite。若不使用SQLite作为数据库,则需要额外的设置,例如 USER,PASSWORD和HOST必须加入。

    其中ENGINE设置为数据库后端使用。内置数据库后端有:

    • 'django.db.backends.postgresql'
    • 'django.db.backends.mysql'
    • 'django.db.backends.sqlite3'
    • 'django.db.backends.oracle'

    在mysite/settings.py文件中,通过DATABASES项进行数据库设置

     1 DATABASES = {
     2     'default': {
     3         'ENGINE': 'django.db.backends.mysql',
     4         'NAME': 'mydb',
     5         'USER': 'root',
     6         'PASSWORD': '123456',
     7         'HOST': 'localhost',
     8         'PORT': '3306',
     9     }
    10 }

    安装PyMySQL,若已经安装请略过。

      $ pip install pymysql
    

    打开mysite/__init__.py,写入以下代码导入pymysql:

    1 import pymysql
    2 pymysql.install_as_MySQLdb()

    另外,请注意在mysite/settings.py文件的INSTALLED_APPS设置中。它包含在该Django实例中激活的所有Django应用程序的名称。应用程序可以在多个项目中使用,您可以打包和分发,以供他人在项目中使用。

    默认情况下,INSTALLED_APPS包含以下应用程序,所有这些应用程序都与Django一起提供:

    • django.contrib.admin - 管理网站。你会很快使用它。
    • django.contrib.auth - 认证系统。
    • django.contrib.contenttypes - 内容类型的框架。
    • django.contrib.sessions - 会话框架
    • django.contrib.messages - 消息框架。
    • django.contrib.staticfiles - 管理静态文件的框架。 这些应用程序默认包含在一般情况下是方便的。

    其中一些应用程序使用至少一个数据库表,因此我们需要在数据库中创建表,然后才能使用它们。为此,请运行以下命令:

      $ python manage.py migrate
    

    该migrate命令查看该INSTALLED_APPS设置,并根据mysite/settings.py文件中的数据库设置和应用程序随附的数据库迁移创建任何必需的数据库表。您会看到适用于每个迁移的消息。

    2. 创建模型

    编辑 polls/models.py文件

    1 from django.db import models
    2 
    3 
    4 class Question(models.Model):
    5     question_text = models.CharField(max_length=200)
    6     pub_date = models.DateTimeField('date published')

    3. 激活模型

    要将该应用程序包括在我们的项目中,我们需要在设置中添加对其配置类的引用INSTALLED_APPS。该 PollsConfig班是在polls/apps.py文件中,所以它的虚线路径'polls.apps.PollsConfig'。

    编辑mysite/settings.py文件,并将该虚线路径添加到该INSTALLED_APPS设置。

    INSTALLED_APPS  =  [ 
        'polls.apps.PollsConfig' ,
        'django.contrib.admin' ,
        'django.contrib.auth' ,
        'django.contrib.contenttypes' ,
        'django.contrib.sessions' ,
        'django.contrib.messages' ,
        'django.contrib.staticfiles' ,
    ]
    

    现在,Django知道包含该polls应用程序。我们来运行如下命令来生产数据结构的迁移文件:

      $ python manage.py makemigrations polls
    
      [root@localhost mysite]# tree polls
        polls
        ├── admin.py
        ├── apps.py
        ├── __init__.py
        ├── migrations
        │   ├── 0001_initial.py
        │   ├── __init__.py
        ├── models.py
        ├── tests.py
        ├── urls.py
        └── views.py
    

    如上面所示,产生了一个文件:polls/migrations/0001_initial.py

    我们可以执行下面命令查看数据结构迁移文件,看看迁移将运行什么SQL?

        $ python manage.py sqlmigrate polls 0001
    

    最后我们运行如下命令来执行迁移操作:

        $ python manage.py migrate
    
        Operations to perform:
          Apply all migrations: admin, auth, contenttypes, polls, sessions
        Running migrations:
          Rendering model states... DONE
          Applying polls.0001_initial... OK
    

    4. 使用

    现在进入交互式的Python shell,并使用Django提供的免费API

    $ python manage.py shell
    
    >>> from polls.models import Question, Choice   # 导入我们刚写的模型类。
    
    # 获取Question的所有信息,但没有。
    >>> Question.objects.all()
    <QuerySet []>
    
    使用模型方法添加查看数据








  • 相关阅读:
    jQuery.fly插件实现添加购物车抛物线效果
    jQuery 实现前端模糊匹配与首字母搜索
    Java生成微信二维码及logo二维码
    Map 与 JavaBean 的相互装换
    从零写Java Web框架——请求的处理DispatcherServlet
    从零写Java Web框架——实现Ioc依赖注入
    记一次校招面试
    使用DbUtils对JDBC封装实现面向实体查询
    HTTP Status 500 PWC6188 jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    【插件】百度编译器ueditor插入视频的时候。在预览的窗口提示 “输入的视频地址有误,请检查后再试!
  • 原文地址:https://www.cnblogs.com/zhouzhishuai/p/10042242.html
Copyright © 2020-2023  润新知