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)函数带了很多参数吧。
-----------------------------------------------------------------------
转载,侵删