Django里的模型是对数据库对表的一次封装,是应用业务与数据之间的桥梁。

 

在上一节,我们在mysite/blog/models.py中创建了BlogPost这个Model。

from django.db import models
class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()

BlogPost里用了CharField,TextField, TextField域。难道就只有这三种,不可能!

如下,我列出了其它的Field,并表明了它们的继承关系:

Field
|--AutoField
|--BooleanField
|--CharField
|  |--EmailField
|  |--SlugField
|  `--URLField
|--DateField
|  `--DateTimeField
|--DecimalField
|--FilePathField
|--FloatField
|--IntegerField
|  |--BigIntegerField
|  |--PositiveIntegerField
|  `--PositiveSmallIntegerField
|--IPAddressField
|--GenericIPAddressField
|--NullBooleanField
|--TextField
|--TimeField
`--BinaryField

 

别问我是怎么知道的。看源码呀~在 django/db/models/fields/__init__.py 中定义。

如果你是去看了这个文件,那么不难知道 Field类的__init__(self)函数带了很多参数吧。

-----------------------------------------------------------------------

转载,侵删

相关文章: