1、定义模型:
Django丰富的变量类型:Django的模型拥有多种不同的变量类型,有些和他们在数据库里的实现比较接近,有些则是为web表单界面而考虑设计。基本上所有类型都属于两者之间。下面给出一个基本的Django模型定义。
from django.db import models
class Author(models.Model):
name=models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author)
length = models.IntegerField()
这个例子的作用相当明显:我们为book创建了一个简单的模型,它包含了好几个和数据库相关的概念。可以看到,Django用Python的类来表示对象,而对象则通过映射到SQL中的表,对象的属性则是表中的列。这些属性自身也是对象,他们都是Field类的子类。
上面代码放到model.py里,这时你在运行一下./manage.py syncdb,你会发现数据库里多了两个表:blog_author,blog_book
下面介绍几种特定的Field子类:
CharField和TextField:这个是最常用的变量类型了,这两个基本上是一样的——都是用于保存文本。区别在于CharField是定长的,而TextField的长度则可以是无限的。具体使用那个要看需要,包括数据库的全文搜索能力或是高效存储的需求。
EmailField、URLFi