Django_models类属性。
1.类属性
AutoField #自增ID BigAutoField #大的自增,一个64位整数,保证适合1到9223372036854775807之间的数字。 BigIntegerField #更大的自增,-9223372036854775808 to 9223372036854775807 BinaryField #存储原始二进制数据的字段。它只支持字节分配 BooleanField #布尔值, CharField #字符串 DateField #e.g 2019-04-27 DateTimeField #e.g 2019-04-27 17:53:21 DecimalField(max_digits=None, decimal_places=None) # 设置了固定精度的十进制数:固定整数和小数位数 DurationField #storing periods of time ,e.g [DD] [HH:[MM:]]ss[.uuuuuu]" EmailField #电子邮件,其实也是字符串 FileField #存储文件 FloatField #浮点数 ImageField #从FileField继承所有属性和方法,但也验证上传的对象是有效的图像。 IntegerField #整数 GenericIPAddressField #IP地址,支持ipv4和ipv6。 NullBooleanField #类似于布尔值字段,但允许其中一个选项为NULL PositiveIntegerField #类似整数字段,但必须是正数或零(0)。取值范围为0到2147483647:正整数 PositiveSmallIntegerField #正小数,小数位只允许0到32767之间。 SlugField # slug是某物的短标签,只包含字母、数字、下划线或连字符。标签 SmallIntegerField #小整数 TextField #一个大的文本字段。 TimeField #一段时间,在Python中用datetime表示。时间的实例。 URLField #url UUIDField #用于存储通用唯一标识符的字段。使用Python的UUID类。
2.除了普通的表字段,针对外键也有映射
ForeignKey # 外键关联 ManyToManyField #多对多 OneToOneField # 1对1
3.类参数
null #如果为真,Django将在数据库中将空值存储为NULL。默认是假的。 blank #如果为真,则允许字段为空。默认是假的。 db_column #要用于此字段的数据库列的名称。如果没有给出,Django将使用字段的名称。 db_index #如果为真,将为该字段创建一个数据库索引。 default #字段的默认值。它可以是一个值,也可以是一个可调用的对象。如果可调用,它将在每次创建新对象时被调用。 editable # django admin中用 help_text # django admin中庸 primary_key # 如果为真,则该字段是模型的主键。 unique #如果为真,则此字段在整个表中必须是唯一的 unique_for_date #将其设置为DateField或DateTimeField的名称,以要求该字段对于date字段的值是惟一的。例如,如果您的字段标题是unique_for_date="pub_date",那么Django将不允许输入具有相同标题和pub_date的两条记录。 unique_for_month #与unique_for_date类似,但要求字段相对于月份是惟一的。 unique_for_year #相对于年份是唯一的。 verbose_name #一个人类可读的字段名。如果没有给出详细的名称,Django将使用字段的属性名自动创建它
4.ForeignKey.on_delete
当一条记录关联的外键纪录被删除时,django 也会根据外键关联限制的配置来决定如何处理当前这条纪录。举例,如果你有个可以为null的外键关联,并且你想在本纪录关联的数据被删除时,把当前纪录的关联字段设为null,那就配置如下
account = models.ForeignKey("Account",on_delete=models.CASCADE)
这个on_delete就是决定在关联对象被删除时,如何处理当前纪录的,常用的参数如下:
- CASCADE——级联删除。Django模拟了DELETE级联上的SQL约束的行为,并删除了包含外键的对象。
- PROTECT——通过引发ProtectedError (django.db.IntegrityError的子类)来防止被引用对象的删除。
- SET_NULL——设置外键为空;这只有在null为真时才有可能。
- SET_DEFAULT——将外键设置为其默认值;必须为外键设置一个默认值。