zoukankan      html  css  js  c++  java
  • Django 定义数据模型

    如何定义数据模型:

    (1) 在 MVC 设计模式中,M 表示数据模型 ( Model ),负责业务对象与数据库的映射,我们可以通过应用的 models.py 来定义数据模型
    (2) Model 采用了 ORM 技术,将关系型数据库表抽象成面向对象的 Python 类,将表操作转换成类操作,避免了复杂的 SQL 语句编写

    [root@localhost web]$ cat blog/models.py 
    from django.db import models
    
    //类名相当于数据表,类的属性相当于表的字段
    class Host(models.Model): hostname = models.CharField(max_length=50) ip = models.IPAddressField()
    [root@localhost web]$ python manage.py validate   # 检查定义的数据模型是否有问题
    [root@localhost web]$ python manage.py syncdb     # 根据数据模型创建/更新数据库
    # 默认使用SQLite数据库,如果要使用别的数据库,需要在项目的setting文件中指定
    # 在更新数据库时,会创建一个管理后台,我们需要设置用户名密码,以便后续登录管理后台

    如何访问数据库:

    [root@localhost web]$ python manage.py dbshell    # 进入数据库 
    sqlite> .help                                     # 查看帮助命令
    sqlite> .tables                                   # 查看有哪些表
    sqlite> select * from blog_host;                  # 查询表数据

     
    扩展:如何使用 MySQL 作为数据库

    [root@localhost web]$ cat web/settings.py
    
    ......
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',    # 指定使用MySQL数据库
            'NAME': 'web',                           # 指定库名
            'USER': 'root',                          # 指定连接MySQL的用户
            'PASSWORD': 'xxxx',                      # 指定连接MySQL的用户密码
            'HOST': '127.0.0.1',                     # 指定MySQL所在的主机
            'PORT': '3306',                          # 指定MySQL端口
        }
    }
    [root@localhost web]$ yum install -y MySQL-python.x86_64    # 需要安装MySQLdb模块,用于Django连接MySQL数据库
    [root@localhost web]$ cat blog/models.py     # 定义数据模型
    from django.db import models
    class Host(models.Model):    
        hostname = models.CharField(max_length=50)
        ip = models.IPAddressField()
    [root@localhost web]$ python manage.py validate   # 检查数据模型
    [root@localhost web]$ python manage.py syncdb     # 同步到数据库

          

  • 相关阅读:
    实验一
    MVVM Light Toolkit 学习
    配置mongodb分片群集(sharding cluster)
    【silverlight】web发布方法
    MongoDb数据库设计
    【解决方案】添加web服务失败:下载“http://localhost:2540/Service.asmx”时出错。无法生成***类型
    Codeforces #380 div2 C(729C) Road to Cinema
    Codeforces #380 div2 B(729B) Spotlights
    数据挖掘项目总结
    南方电网用电时间序列分析
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10328644.html
Copyright © 2011-2022 走看看