文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python web 开发(三) 深入了解数据模型

Python web 开发(三) 深入了解数据模型

时间:2010-04-20  来源:kkboy_dyc

在Django中,我们通过基于 Python 的 API来对数据库进行操作,这有别于传统的SQL语言,所以在这里SQL会帮助你更好的理解数据库模型,但它不是必须的。
在bookmark找个项目中,我们需要存储三种类型的数据到数据库中:

1. User (ID, username, password, email)
2. Links (ID, URL)
3. Bookmarks (ID, title, user_id, link_id)

为了实现上述表结构,我们需要编辑 bookmarks/model.py

我们先从最简单 Links 表来入手,它是最简单的一个:

编辑 bookmarks/model.py

from django.db import models
class Link(models.Model):
    url=models.URLField=(unique=True)


从以上代码中我们看出,我们先引用了models这个包,因为它包含了创建model所必需的类,其次我们定义了一个类 Link,这个类继承了 models.Model类。我们定义了一个数据库中的字段 url , 它的类型是 models.URLField,并且是唯一的。

这里我们可能会对models.URLField感到迷惑,这其实是django对url这种类型的数据做出的预定义,提前设定好了该字段的大小,数据类型等等,我们只需要直接调用它就行了,不用自己手动指定了。

与其类似的还有很多,比如:

IntegerField -->  An integer.
TextField --> A large text field.
DateTimeField --> A date and time field.
EmailField --> An email field with 75 chars max.
URLField --> A URL field with 200 chars max.
FileField --> A file-upload field.

数据模型的代码写完了,但是要使用找个模型,我们还需要到django项目中去激活它。打开django_bookmarks/setting.py 找到 INSTALL_APPS

INSTALL_APPS = (
    'django.contrib.auth',
    .
    .
    .
    'django_bookmarks.bookmarks',#增加应用程序bookmarks
    )


现在我们就可以通过manage.py来自动生成数据库表格了执行:

python manage.py syncdb

这条命令我们在最早创建django项目中执行过,当时是为了创建django项目自有的管理应用程序表格。在今后的开发中,不管什么时候,如果你需要增加一个数据模型,你都需要这条命令来同步你数据库中的数据表格。

其实我们可以通过如下命来来查看django究竟创建了一个什么样的数据表:

python manage.py sql bookmarsk

执行后会出现一段SQL语句,

BEGIN;
CREATE TABLE `bookmarks_link` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `url` varchar(200) NOT NULL UNIQUE
)
;
COMMIT;


很显然,django分析了我们先前创建的 Link 数据模型,也就是那个类 Link 并通过SQL语句创建了这个数据表。
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载