django models 之字段详解-----------第36篇

简单介绍一下创建模型时会涉及到的字段类型,以及字段设置的含义
Django models 的字段类型

  • models.AutoField —自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。
  • models.CharField —字符串字段 单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField。必须 max_length 参数,django会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数。
  • models.BooleanField —布尔类型=tinyint(1) 不能为空,Blank=True
  • models.ComaSeparatedIntegerField —用逗号分割的数字=varchar 继承CharField,所以必须 max_lenght 参数,
  • models.DateField —日期类型 date 对于参数,auto_now = True 则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
  • models.DateTimeField —日期类型 datetime 同DateField的参数
  • models.Decimal —十进制小数类型 = decimal 必须指定整数位max_digits和小数位decimal_places
  • models.EmailField —字符串类型(正则表达式邮箱) =varchar 对字符串进行正则表达式 一个带有检查 Email 合法性的 CharField,不接受 maxlength 参数。
  • models.FloatField —浮点类型 = double 浮点型字段。 必须提供两个 参数, 参数描述:
     max_digits:总位数(不包括小数点和符号)
    decimal_places:小数位数。如:要保存最大值为 999 (小数点后保存2位),你要这样定义字段:models.FloatField(…,max_digits=5, decimal_places=2),要保存最大值一百万(小数点后保存10位)的话,你要这样定义:models.FloatField(…,max_digits=19, decimal_places=10)
  • models.IntegerField —整形 用于保存一个整数
  • models.BigIntegerField —长整形
  • models.IPAddressField —字符串类型(ip4正则表达式) 一个字符串形式的 IP 地址, (如 “202.1241.30″)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django 中,`update_or_create` 是 `QuerySet` 对象的一个方法,用于更新现有记录或创建新记录。 该方法的使用方式如下: ```python obj, created = MyModel.objects.update_or_create(defaults={}, **kwargs) ``` 其中: - `MyModel` 是你的模型类。 - `defaults` 是一个字典,用于指定要更新或创建的字段及其对应的值。 - `kwargs` 是一个字典,用于指定用于匹配现有记录的查询条件。 该方法的返回值是一个包含两个元素的元组: - `obj` 是更新或创建的模型对象。 - `created` 是一个布尔值,指示是否创建了新记录。如果创建了新记录,则为 `True`;如果更新了现有记录,则为 `False`。 下面是对 `update_or_create` 方法的详细解释: 1. 首先,根据提供的查询条件(`kwargs`),尝试在数据库中查找匹配的记录。 2. 如果找到匹配的记录,则使用提供的 `defaults` 字典中的值来更新这条记录。 3. 如果未找到匹配的记录,则根据提供的查询条件和 `defaults` 字典中的值创建一条新记录。 这个方法适用于以下场景: - 当你想更新现有记录时,但又不确定该记录是否存在时,可以使用该方法。它会自动检查是否存在匹配的记录,并根据需要进行更新。 - 当你想创建新记录,但又要确保不会创建重复的记录时,也可以使用该方法。它会检查是否存在匹配的记录,如果不存在,则创建新记录。 注意事项: - `defaults` 字典中的键是模型字段的名称,对应的值是要更新或创建的字段值。 - `kwargs` 字典中的键是用于匹配现有记录的查询条件,可以使用模型字段名和其对应的值进行匹配。 这是关于 Django 的 `update_or_create` 方法的详细说明,希望能帮助到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值