如何定义数据模型:

(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': '', # 指定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 # 同步到数据库

Django 定义数据模型的更多相关文章

  1. Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块

    Python第十三天   django 1.6   导入模板   定义数据模型   访问数据库   GET和POST方法    SimpleCMDB项目   urllib模块   urllib2模块 ...

  2. Django 定义视图函数

    Django 定义视图函数 一.接收内容及文件处理 1.接收分类 # 获取数据 request.GET # 提交数据 request.POST # 获取文件 request.FILES 2.check ...

  3. ASP.NET MVC扩充数据模型-定义数据模型的Metadata

    ASP.NET MVC扩充数据模型-定义数据模型的Metadata Posted on 2018-07-12 by Wang Kepai     Rate this post 无论你是使用LINQ t ...

  4. django定义模型类-14

    目录 1. 定义 字段类型 约束类型 django的模型类定义在应用下的 models.py 文件中. 模型类继承自 django.db.models 包下的 Model 类. 新创建应用 book ...

  5. django定义模型类

    模型类被定义在应用文件夹下的model.py中 模型类必须继承Django的models.Model类 属性名不能用连续的两条下划线__ 主键:primary key,简写 pk 不需要主动定义,dj ...

  6. Define the Data Model and Set the Initial Data 定义数据模型并设置初始数据

    This topic describes how to define the business model and the business logic for WinForms and ASP.NE ...

  7. Django定义全局变量

    定义全局变量,在项目的任何位置都可以获取到变量的值 在include App=>include文件夹下=>context_processors.py 里定义需要获取的变量 #!/usr/b ...

  8. django定义Model中的方法和属性

    #定义一个Model class UserProfile(models.Model): user=models.OneToOneField(User,unique=True) phone=models ...

  9. django之数据模型类的字段分析

    一:表一的字段分析 class Sheep_Area(models.Model):# models.AutoField()自增列,要显示自定义的自增列,必须定义primary=True# area_i ...

随机推荐

  1. Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lcom/lidroid/xutils/task/TaskHandler;

    Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files defi ...

  2. 安卓程序代写 网上程序代写[原]ViewGroup(容器组件)详解(API解析)

    一. ViewGroup简介 1.View和ViewGroup关系 UI组件在Android中的位置 : Android中的UI组件大部分都放在android.widget 或者 android.vi ...

  3. TinyBlob、Blob、MediumBlob、LongBlob大小

    BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同 ...

  4. 00-02.PHP 网站假设 之 学习PHP语法 [James建站]

    PHP 手册 Stig Sæther Bakken Alexander Aulbach Egon Schmid Jim Winstead Lars Torben Wilson Rasmus Lerdo ...

  5. JDBC PrepareStatement对象执行批量处理实例

    以下是使用PrepareStatement对象进行批处理的典型步骤顺序 - 使用占位符创建SQL语句. 使用prepareStatement()方法创建PrepareStatement对象. 使用se ...

  6. e807. 设置进程监听对话框的延迟弹出

    By default, the progress monitor delays for a short period before it is displayed. There are two pro ...

  7. C#提高--------------获取方法返回值的自定义特性(Attribute)

    .NET(C#):获取方法返回值的自定义特性(Attribute) 转载 2013年05月08日 10:54:42 1456 来自:http://www.cnblogs.com/mgen/archiv ...

  8. 惊艳的HTML5动画特效及源码

    今天我们要来分享一些很酷的HTML5动画演示,HTML5的强大之处在于它可以利用canvas的特性来绘制很多普通网页无法完成的图形和动画,canvas就像一块超级画板,在上面不仅可以实现平面图形,而且 ...

  9. springboot - Constructor、@Autowired、@PostConstruct分析

    1.Constructor 构造方法 2.@Autowired 依赖注入 3.@PostConstruct 在依赖注入完成后被自动调用 4. 三者的顺序: 从依赖注入的字面意思就可以知道,要将对象p注 ...

  10. Opengl的gl_NormalMatrix

    原文地址:http://blog.csdn.net/ichild1964/article/details/9728357 参考:http://www.gamedev.net/topic/598985- ...