0
点赞
收藏
分享

微信扫一扫

django框架中使用ORM设计数据库的模型

自信的姐姐 2023-07-13 阅读 50

ORM关联数据的逻辑是:

 

Django 中常见的模型字段类型及其含义:

  1. AutoField:一个自动递增的整型字段,添加记录时它会自动增长。
  2. BigAutoField:一个自动递增的 biginteger字段,添加记录时它会自动增长。
  3. CharField:用于存储字符类型的数据,如姓名、地址、电话等。
  4. TextField:用于存储长文本类型的数据,如文章、评论等。
  5. IntegerField:用于存储整数类型的数据,如年龄、数量等。
  6. BigIntegerField:用于存储 biginteger类型的数据,比 IntegerField 更大。
  7. SmallIntegerField:用于存储 smallinteger类型的数据,比 IntegerField 更小。
  8. FloatField:用于存储浮点数类型的数据,如温度、海拔等。
  9. DecimalField:用于存储十进制类型的数据,如金额、分数等。它可以设置最大位数和小数点后的位数,支持四舍五入等设置。
  10. BooleanField:用于存储布尔类型的数据,如是否、开关状态等。它只能接受 True 或 False 两个值。
  11. DateField:用于存储日期类型的数据,如出生日期、有效期等。
  12. DateTimeField:用于存储日期和时间类型的数据,如创建时间、修改时间等。它可以设置日期和时间的格式、时区等。
  13. TimeField:用于存储时间类型的数据,如开始时间、结束时间等。
  14. FilePathField:用于存储文件路径类型的数据,它可以选择指定的文件路径。
  15. CharField:用于存储文件路径类型的数据,它可以选择指定的文件路径。
  16. EmailField:用于存储电子邮件地址类型的数据。
  17. SluginField:用于存储滑块类型的数据,它可以在一个范围内滑动并进行选择。

常用的模型字段参数及其含义:

  1. default:用于指定该字段的默认值。
    • 如果一个字段没有指定 default 参数,则在创建新的模型实例时,该字段将默认为 None 或该字段类型的空值。
    • 如果一个字段的 default 参数是一个值,则在创建新的模型实例时,该字段将默认为该值。
    • 如果一个字段的 default 参数是一个函数,则在创建新的模型实例时,该字段将调用该函数来获取默认值。
  2. choices:用于限制该字段的可选值。
    • 如果一个字段的 choices 参数是一个元组或列表,则该字段的可选值必须是其中之一。
    • 如果一个字段的 choices 参数是一个函数,则该字段在表单中显示时将调用该函数来获取可选值。
  3. max_length:用于限制该字段的最大长度。
    • 如果一个字段是字符类型(如 CharFieldTextField),则 max_length 参数指定该字段的最大长度。
    • 如果一个字段是数字类型(如 IntegerFieldFloatField),则 max_length 参数无效。
  4. min_length:用于限制该字段的最小长度。
    • 如果一个字段是字符类型(如 CharFieldTextField),则 min_length 参数指定该字段的最小长度。
    • 如果一个字段是数字类型(如 IntegerFieldFloatField),则 min_length 参数无效。
  5. validators:用于指定对该字段进行验证的验证器列表。
    • 如果一个字段的 validators 参数是一个验证器函数列表,则这些验证器函数将在保存该字段的值之前对其进行验证。
    • 如果一个字段的 validators 参数是一个字符串列表,则这些字符串将作为参数传递给一个内置的验证器函数(例如 django.core.validators.validate_email)。
  6. default_validators:用于指定对该字段进行默认验证的验证器列表。
    • 如果一个字段的 default_validators 参数是一个验证器函数列表,则这些验证器函数将在保存该字段的值之前对其进行默认验证。
  7. help_text:用于指定该字段在表单中的帮助文本。
    • 如果一个字段的 help_text 参数是一个字符串,则该字符串将被用作该字段在表单中的帮助文本,以提供额外的用户指导。
  8. db_column:用于指定该字段在数据库表中的列名。
    • 如果一个字段的 db_column 参数是一个字符串,则数据库表中的该列将使用该字符串作为列名。
  9. db_tablespace:用于指定该字段在数据库表中的表空间名。
    • 如果一个字段的 db_tablespace 参数是一个字符串,则数据库表中的该字段将存储在该表空间中。
  10. unique:用于指定该字段是否是唯一的。
    • 如果一个字段的 unique 参数为 True,则在数据库表中,该字段的值必须是唯一的。
    • 如果一个字段的 unique 参数为 False(默认值),则在数据库表中,该字段的值可以重复出现。
  11. null:用于指定该字段是否允许为空值。
    • 如果一个字段的 null 参数为 True,则在数据库表中,该字段可以为空值 NULL。
    • 如果一个字段的 null 参数为 False(默认值),则在数据库表中,该非空字段必须有一个非空的值。
  12. blank:用于指定该字段是否允许为空字符串。
    • 如果一个字段的 blank 参数为 True,则在表单中提交该非空

几种常用的方式:

#无约束

1.有约束

#- to,与那张表关联

#- to_field,表中的那一列关联

2.django自动

#- 写的depart

生成数据列 depart_id

3.部门表被删除

3.1 级联删除(部门删除,他的关联部门下的人都会被删除)

3.2 置空(部门删除,他的关联部门下的人不会被删除,部门ID显示null)

再来一些参考:

举报

相关推荐

0 条评论