zoukankan      html  css  js  c++  java
  • 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——将外键设置为其默认值;必须为外键设置一个默认值。
  • 相关阅读:
    cocos2d
    Java中== equals hashcode浅析[转]
    javamail发送邮件的简单实例[转]
    跨平台 游戏 引擎
    7 个漂亮的 JavaScript 的时间轴组件 [转]
    Java中的equals学习小结 [转]
    javamail gmail
    JavaMai——邮箱验证用户注册
    daomain
    oDesk Exam
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12559675.html
Copyright © 2011-2022 走看看