首页 > 其他分享 >Django文档--Model字段选项

Django文档--Model字段选项

时间:2023-02-22 16:24:32浏览次数:46  
标签:name -- gender Django models 字段 Model True

建立一个简易Model

class Person(models.Model):
    GENDER_CHOICES=(
        (1,'Male'),
        (2,'Female'),
        )
    name=models.CharField(max_length=30,unique=True,verbose_name='姓 名')   
    birthday=models.DateField(blank=True,null=True)
    gender=models.IntegerField(choices=GENDER_CHOICES)
    account=models.IntegerField(default=0)  

blank

设置为True时,字段可以为空。设置为False时,字段是必须填写的。字符型字段CharField和TextField是用空字符串来存储空值的。

null

设置为True时,django用Null来存储空值。日期型、时间型和数字型字段不接受空字符串。所以设置IntegerField,DateTimeField型字段可以为空时,需要将blank,null均设为True。

如果想设置BooleanField为空时可以选用NullBooleanField型字段。

max_length

为CharField型字段设置最大长度。

choices

由元素为2-tuples的序列(list或者tuple)作为字段的choices。2-tuple的第一个元素存储在数据库中,第二个元素可由get_FOO_display方法得到。

>>>p=Person(name='Sam',gender=1)
>>>p.save()
>>>p.gender
1
>>>p.get_gender_display()
u'Male'

default

为字段设定默认值。

默认值不能是一个可变对象(模型实例,列表,集合等),作为到同一个实例的参考,该对象将用作所有新的模型实例中的默认值。相反,在一个可调用的对象中封装所需的默认值。例如,如果你有一个自定义JSONField,并希望指定一个作为默认的字典,使用一个lambda表达式如下:

contact_info = JSONField("ContactInfo", default=lambda:{"email": "[email protected]"})

+  verbose_name**

设置此字段在admin界面上的显示名称。

 **unique**

设置为True,此字段在数据库中必须是唯一的

>>>p=Person(name='Sam',gender=1)
>>>p.save()
>>>p=Person(name='Sam',gender=2)
>>>p.save()
IntergrityError: column name is not unique

primary_key

**primary_key**

如果设置为True,则此字段成为Model的主键。一般情况下,django会为Model自动添加一个叫id的IntegerField字段作为主键。

 

 

 

 

 

标签:name,--,gender,Django,models,字段,Model,True
From: https://www.cnblogs.com/mengdie1978/p/17144764.html

相关文章

  • VUE大文件上传解决方案
    ​ 关键部分前端用file.slice()分块前端用FileReader获取每一分块的md5值后端用MultipartFile接受分块文件后端用FileOutputStream拼装分块文件话不多说,直接上代码,......
  • 科技“新贵”ChatGPT缘何“昙花一现”,仅低代码风靡至今
    恍惚之间,ChatGPT红遍全网,元宇宙沉入深海……在科技圈,见证了太多“昙花一现”,“新贵”ChatGPT的爆火几乎复制了元宇宙的路径,它会步元宇宙的后尘,成为下一个沉入深海的工具吗......
  • Matplotlib中绘制双y轴合并图例
    转载自:https://www.cnblogs.com/atanisi/p/8530693.html1.绘制双y轴:twinx(),双x轴:twiny()#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotas......
  • 2023.2.22软件工程学习日报
      所花时间:代码量:博客量:3了解到的知识点:今天首先在安装了AndroidStudio的基础上了解了以下几点内容1、Android的项目架构(某个文件夹具体是干什么的)2、自带的SQLi......
  • 深度分析2种最常用待办事项清单法+工具实操
    建待办事项清单的方法有很多种,你可能已经熟悉了其中一种,但没有了如指掌,恐怕也没有想过哪种方法最适合自己,给大家整理当下职场最常用的两个代办清单事项方法,只需看这两个就......
  • 主流的NOSQL产品 redis概述
    主流的NOSQL产品键值(key-Value)存储数据库相关产品:TokyoCabinet/TyrantRedisVoldemortBerkeleyDB典型应用:内容缓存只要用于处理大量数据的......
  • 旅游线路详情
    分析    数据库多表关系     后台代码实现RouteServlet/***根据id查询一个旅游线路详情信息*@paramrequest*@paramre......
  • Linux--
    快照功能很重要->有问题就恢复                       ......
  • vue-day08——vue3介绍、vue3项目创建、setup函数、ref和reactive、计算属性和监听属
    目录一、vue3介绍1.性能的提升2.源码的升级3.拥抱TypeScript4.新的特性5组合式API和配置项API5.1OptionsAPI存在的问题5.2CompositionAPI的优势5.3组合式API和配置......
  • Java培训班学什么班型比较好
    了解互联网的同学应该都知道Java软件开发是比较热门的行业,学习的人也是络绎不绝,市面上的相关培训急剧增多,随着不同机构的成立,学习方式也不在是单一化的,在各式各样的教学方......