Django-数据库常用类型与关键字

来源:互联网 发布:js时间控件webdriver 编辑:程序博客网 时间:2024/05/29 07:00

Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。接下来记录一下怎么在Django中使用数据库:

常用数据类型

  • AutoField:int自增列,必须传入参数primary_key
  • BigAutoField:bigint自增列,必须传入参数primary_key
  • SmallIntegerField:小整数列
  • IntegerField:整数列
  • PositiveIntegerField:正整数列
  • BigIntegerField:大整数列
  • BooleanField:布尔值列
  • NullBooleanField:可以为空的布尔值列
  • CharField:字符类型,必须传入max_length
  • TextField:文本类型
  • IntegerField:整数列
  • FloatField:浮点型
  • DecimalField:十进制小数.参数:
    • max_digits:小数总长度
    • decimal_places:小数位长度
  • ImageField:字符串,路径保存在数据库,文件上传到指定目录,参数:
    • upload_to = “” 上传到指定路径
    • storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
    • width_field = None 上传图片的宽度保存的数据库字段名
    • height_field = None 上传图片的高度保存的数据库字段名
  • DateTimeField:日期+时间。格式:YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]
  • DateField:日期。格式:YYYY-MM-DD
  • TimeField:时间。格式:HH:MM[:ss[.uuuuuu]]

常用关键字

  • null:是否允许为空(例:null = True)
  • default:是否允许为空(例:default = “123”)
  • primary_key:设置为主键(例:primary_key = True)
  • db_column:列名(例:db_column = “address”,默认是跟变量名一样的,使用此关键字后可以修改成你想要的名称)
  • db_index:索引
  • unique:唯一索引
  • unique_for_date:date为唯一索引
  • unique_for_month:month为唯一索引
  • unqieu_for_day:day为唯一索引
  • auto_now:更新时自动更新(例:auto_now = True)
obj = models.DjangoInfo.objects.filter(id=1).first()obj.password = 123obj.save()      # 只有通过save方法保存的更新,auto_now才起作用
  • auto_now_add:第一次插入数据的时候,自动添加数据,auto_now_add与auto_now一般用于时间的操作,如记录创建的时间和更新的时间
  • choices:用不变动的数据放在内存中从而避免跨表操作
user_type_choices = (    (1,"男"),    (2,"女"),    (3,"人妖"))user_type_id = models.IntegerField(choices=user_type_choices,default=1)# 存入的数据是前面的数字,1,2,3
  • blank:是否为空,django admin中使用