django Models 数据类型

来源:互联网 发布:net snmp 编程 编辑:程序博客网 时间:2024/06/15 21:15
Django Models的数据类型

AutoField

 

IntegerField

BooleanField

true/false

 

CharField

maxlength,必填

 

TextField

 

 

CommaSeparatedIntegerField

maxlength,必填

逗号分隔

DateField

auto_now

可选,每次动作都会更新

auto_now _add

可选,一次产生

 

DateTimeField

auto_now

可选,每次动作都会更新

auto_now _add

可选,一次产生

 

EmailField

 

 

FileField

upload_to,可选

object.get_myfile_url

FilePathField

path

必填"/home/images"

match

可选,正则表达式,用于过滤文件名

recursive

可选,False,表示path的子目录是否包含在内

 

FloatField

max_digits

必填,数字长度

decimal_places

必填,即有效位数

 

 

ImageField

upload_to

 

height_field

可选

width_field

可选

需要验证,即Python Imaging Library

IntegerField

 

 

IPAddressField

 

 

NullBooleanField

 

相当于设置了null=True的BooleanField

PhoneNumberField

 

美国电话号码格式

PositiveIntegerField

 

正整数字段

PositiveSmallIntegerField

 

小的正整数字段,取决于数据库特性

SlugField

maxlength(50)

可选

db_index

默认为True

prepopulate_from

可选,用于指示在admin表单中的可选值

短标签,仅包含字母、数字、下划线、连字符,一般用于url

SmallIntegerField

 

小整数字段,依赖于数据库特性

TimeField

auto_now

可选,每次动作都会更新

auto_now _add

可选,一次产生

 

URLField

verify_exists(True),检查URL可用性

 

USStateField

 

两个字母表示的美国州名字段

XMLField

schema_path,必选

 



3.  用一个文本编辑器(VI挺好用)打开models.py文件,定义一个名为Person的模型,具有属性first_name和last_name:

    from django.db import models
    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的语法分析方式有关


0 0