Django 操做数据库三

null
若是为 True ,Django 将用 NULL 来在数据库中存储空值。 默认值是 False .python

blanksql

若是为 True ,该字段容许不填。默认为 False在Django admin 中是否为空数据库

要注意,这与 null 不一样。 null 纯粹是数据库范畴的,而 blank 是数据验证范畴的。若是
一个字段的 blank=True ,表单的验证将容许该字段是空值。若是字段的 blank=False ,该字
段就是必填的。
django

choices  :储存在内存当中,且在django admin 当中会自动生成下拉选择列表ui

由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项。 若是设置
了choices ,默认的表单将是一个选择框而不是标准的文本框,并且这个选择框的选项就是
choices 中的选项spa

from django.db import models
class Person(models.Model):
    SHIRT_SIZES = (
    ('S', 'Small'),
    ('M', 'Medium'),
    ('L', 'Large'),
    )
    name = models.CharField(max_length=60)
    shirt_size = models.CharField(max_length=1, choices=SHIRT_SIZES,default=1)

模版获取choices 的值:https : //my.oschina.net/esdn/blog/832982.net

primary_keycode

若是为 True ,那么这个字段就是模型的主键 ,对AutoField设置主键后,就会代替原来的自增 id 对象

若是你没有指定任何一个字段的 primary_key=True ,Django 就会自动添加一个 IntegerField
字段作为主键,因此除非你想覆盖默认的主键行为,不然不必设置任何一个字段
primary_key=True blog

from django.db import models
    class Fruit(models.Model):
    name = models.CharField(max_length=100, primary_key=True)

Mysql 数据库默认 ID 为主键,默认状况下,Django 会给每一个模型添加  自增主键字段(AutoField)

id = models.AutoField(primary_key=True)

auto_now 和 auto_now_add

  • auto_now   自动建立---不管添加或修改,都是当前操做的时间
  • auto_now_add  自动建立---永远是建立时的时间

注意:一、若是设置auto_now 和 auto_now_add ,Django Admin 后台默认为不显示状态,即不可编辑(editable=False),若是要设置为当前时间,也能够修改,需以下设置

import django.utils.timezone as timezone               # 导入时间模块
dww = models.DateTimeField(default=timezone.now)       # 设置默认为当前时间

二、自动更新的时候,须要使用 xxx.save() ,时间才会自动更新

obj = models.xxx.objects.fillter(id=1).first()
obj.name='admin'
obj.save()

verbose_name  Admin中字段的显示名称
name|db_column  数据库中的字段名称
unique=True  不容许重复 ,惟一索引
db_index = True  数据库索引
editable=True  在Admin里是否可编辑
error_messages=None  错误提示 ,Django Admin 中的错误提示
auto_created=False  自动建立
help_text  在Admin中提示帮助信息
validators=[]    自定义错误信息
upload-to 上传

相关文章
相关标签/搜索