• Django 创建model的一些注意事项


    自增主键字段

    默认情况下,Django 会给每个模型添加下面这个字段:

    id = models.AutoField(primary_key=True)
    

    这是一个自增主键字段。

    如果你想指定一个自定义主键字段,只要在某个字段上指定primary_key=True 即可。如果 Django 看到你显式地设置了 Field.primary_key,就不会自动添加 id 列。

    每个模型只能有一个字段指定primary_key=True(无论是显式声明还是自动添加)。

    字段的自述名

    ForeignKeyManyToManyField 和 OneToOneField 之外,每个字段类型都接受一个可选的位置参数 —— 字段的自述名。

    如果没有给定自述名,Django 将根据字段的属性名称自动创建自述名 —— 将属性名称的下划线替换成空格。

    在这个例子中,自述名是 "person's first name":

    first_name = models.CharField("person's first name", max_length=30)

     

    在这个例子中,自述名是  "first name"

    first_name = models.CharField(max_length=30)


    ##########

    first_name models.CharField("person's first name"max_length=30)   -->第一个参数可创建字段的自述名

    first_name models.CharField(max_length=30)               -->若没有创建字段的自述名, Django 将根据字段的属性名称自动创建自述名—— 将属性名称的下划线替换成空格。

    first_name 是字段的属性名。

    ##########

    下面是几个特例,特例的原因是在于这些字段的第一参数是模型,而不是参数,需要使用verbose_name关键字参数来指定自述名。

    ForeignKeyManyToManyField 和 OneToOneField 都要求第一个参数是一个模型类,所以要使用verbose_name 关键字参数才能指定自述名:

    poll = models.ForeignKey(Poll, verbose_name="the related poll")
    sites = models.ManyToManyField(Site, verbose_name="list of sites")
    place = models.OneToOneField(Place, verbose_name="related place")
    

    习惯上,verbose_name 的首字母不用大写。Django 在必要的时候会自动大写首字母。

  • 相关阅读:
    输入框input只能输入数字和小数点
    ES6判断数组是否存在重复元素
    AutoPostBack的含义
    首次的boe with wss
    我的msn能在w2k3上使用了哈哈
    挑战excel
    wss的webpart的3种开发方式
    我来操作dts olap
    My dbconn of ASP
    sharepoint学习理解过程
  • 原文地址:https://www.cnblogs.com/haoshine/p/5444824.html
Copyright © 2020-2023  润新知