Django 模型(Model)字段类型级参数详解

25 篇文章 0 订阅
13 篇文章 0 订阅

Django 模型(Model)字段类型级参数详解

序号

字段类型(Filed Types)

描述

1

AutoField

根据可用id自动递增的整数字段。通常不需要直接使用它;如果不指定主键字段,则会自动将主键字段添加到模型中。

2

CharField

用来存储字符串,必须制定范围,如果存储大文本字符串,应当用TextField.

3

DateField

使用Python的datetime.date实例保存的日期。auto_now = True:每次保存对象时,自动设置该字段为当前时间;auto_now_add=True:对象第一次被创建时自动设置当前时间。需要注意的是,自动保存的时间的时区使用的是默认时区。

4

DateTimeField

使用Python的datetime.datetime实例表示的日期和时间。

5

TextField

存储大字符串

6

BigIntegerField

64位的整型数值,从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807)

7

BinaryField

存储二进制码的Field. 只支持bytes 赋值。

8

BooleanField

该字段的默认表单控件是CheckboxInput,如果你需要设置null 值,则使用NullBooleanField 来代替BooleanField。

9

FloatField

用Python的一个float 实例来表示一个浮点数。

10

UUIDField

一个用来存储UUID的字段。使用Python的UUID类。

11

ForeignKey

多对一关系

12

ManyToManyField

多对多关联

13

OneToOneField

一对一关联关系

1、null=True      数据库中字段是否可以为空

2、blank=True         django的 Admin 中添加数据时是否可允许空值

3、primary_key = False

主键,对AutoField设置主键后,就会代替原来的自增 id 列

如果您没有为模型中的任何字段指定primary_key=True, Django将自动添加一个IntegerField来保存主键,所以您不需要在任何字段上设置primary_key=True,除非您想要覆盖默认的主键行为。有关更多信息,请参见自动主键字段。

主键字段是只读的。如果您更改现有对象上的主键值,然后保存它,就会在旧对象旁边创建一个新对象。例如:

from django.db import models

class Fruit(models.Model):

name = models.CharField(max_length=100, primary_key=True)

fruit = Fruit.objects.create(name='Apple')
>>> fruit.name = 'Pear'
>>> fruit.save()
>>> Fruit.objects.values_list('name', flat=True)
<QuerySet ['Apple', 'Pear']>

4、auto_now 和 auto_now_add

auto_now   自动创建---无论添加或修改,都是当前操作的时间

auto_now_add  自动创建---永远是创建时的时间

5、choices

GENDER_CHOICE = (

        (u'M', u'Male'),

        (u'F', u'Female'),

    )
gender = models.CharField(max_length=2,choices = GENDER_CHOICE)

6、max_length      字符串最大长度

7、default        默认值

8、verbose_name Admin         中字段的显示名称

9、name|db_column  数据库中的字段名称

10、unique=True  

不允许重复,例如用户名注册时候是不允许重复的,在username字段里设置,不让重复

11、db_index = True  数据库索引    

12、editable=True  在Admin里是否可编辑

13、error_messages=None  

错误提示   

把错误提示修改成你想要的报错,这里加个字典来完成 gender = models.CharField(max_length=2,choices = GENDER_CHOICE,error_messages={"错误类型":"错误原因"})

14、auto_created=False  自动创建

15、help_text  在Admin中提示帮助信息

16、validators=[]    提示区间,例如电话号码范围

17、upload-to   文件上传功能 在 FileField 里加入 例如: file = modles.FileField(upload-to = "./upload/"      指明上传的文件防止根目录下的/upload/文件夹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值