AutoField |
| IntegerField | ||||||
BooleanField | true/false |
| ||||||
CharField | maxlength,必填 |
| ||||||
TextField |
|
| ||||||
CommaSeparatedIntegerField | maxlength,必填 | 逗号分隔 | ||||||
DateField |
|
| ||||||
DateTimeField |
|
| ||||||
EmailField |
|
| ||||||
FileField | upload_to,可选 | object.get_myfile_url | ||||||
FilePathField |
|
| ||||||
FloatField |
|
|
ImageField |
| 需要验证,即Python Imaging Library | ||||||
IntegerField |
|
| ||||||
IPAddressField |
|
| ||||||
NullBooleanField |
| 相当于设置了null=True的BooleanField | ||||||
PhoneNumberField |
| 美国电话号码格式 | ||||||
PositiveIntegerField |
| 正整数字段 | ||||||
PositiveSmallIntegerField |
| 小的正整数字段,取决于数据库特性 | ||||||
SlugField |
| 短标签,仅包含字母、数字、下划线、连字符,一般用于url | ||||||
SmallIntegerField |
| 小整数字段,依赖于数据库特性 | ||||||
TimeField |
|
| ||||||
URLField | verify_exists(True),检查URL可用性 |
| ||||||
USStateField |
| 两个字母表示的美国州名字段 | ||||||
XMLField | schema_path,必选 |
|
3. 用一个文本编辑器(VI挺好用)打开models.py文件,定义一个名为Person的模型,具有属性first_name和last_name:
from django.db imp
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
正如前面所述,模型是django.db.models.Model的子类。
4.定义好模型后,要告诉Django要用的模型,只需要打开learn文件夹下的setting.py文件,添加如下:
INSTALLED_APPS = ( #... 'learn.person', #... )
5.在learn文件夹下命令行中输入:python manage.py syncdb。执行后就能在数据库中创建模型数据表了,当然django数据库要配置好。
其它:
1.默认情况下,Django会给每个模型自动建立一个AutoField类型的id字段,这是一个自动增加的主键,如果你想自己指定一个主键,只要加上primary_key=True这个选项到字段就行,如果这样,Django就不会再自动生成id了。
2.字段名限制:Django对此只有两个限制:
(1)字段名不能是python的保留字,以免引起python语法错误。
(2)不能含有两个及两个以上的下划线(_),这和Django的语法分析方式有关