• Python


    字段参数:

    null:用于表示某个字段可以为空

    unique:如果设置为 unique=True,则该字段在此表中必须是唯一的

    db_index:如果 db_index=True,则代表着为此字段设置数据库索引

    default:为该字段设置默认值

    关系字段参数:

    to:设置要关联的表

    to_field:设置要关联的表的字段

    related_name:反向操作时,使用的字段名,用于代替原反向查询时的 '表名_set'

    related_query_name:反向查询操作时,使用的连接前缀,用于替换表名

    db_constraint:是否在数据库中创建外键约束,默认为 True

    on_delete:当删除关联表中的数据时,当前表与其关联的行的行为

    on_delete 的值:

    models.CASCADE:删除关联数据,与之关联也删除。默认的,可以不写,在 Django 2 后需要写上。

    models.DO_NOTHING:删除关联数据,引发错误 IntegrityError

    models.PROTECT:删除关联数据,引发错误 ProtectedError

    models.SET_NULL:删除关联数据,与之关联的值设置为 null(前提 ForeignKey 字段需要设置为可空)

    models.SET_DEFAULT:删除关联数据,与之关联的值设置为默认值(前提 ForeignKey 字段需要设置默认值)

    models.SET:删除关联数据,与之关联的值设置为指定值,设置:models.SET(值);与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)

    from django.db import models
     
     
    class Person(models.Model):
        id = models.AutoField(primary_key=True)
        name = models.CharField(max_length=32)
        age = models.IntegerField()
        birthday = models.DateField(auto_now_add=True)
     
     
    class Man(models.Model):
        id = models.AutoField(primary_key=True)
        # to="Person" 表示跟 Person 关联
    	# to_field="name" 表示跟 Person 表的 name 字段关联
        # on_delete=models.CASCADE 关联数据被删除时,关联也会被删除
        # db_constraint=False 表示两个关联数据在数据库操作上没有关系
        name = models.ForeignKey(to="Person", on_delete=models.CASCADE, db_constraint=False)
    
  • 相关阅读:
    hdu 1159 Common Subsequence(最长公共子序列)
    Codeforces Round #313 (Div. 2)
    cf 558A Lala Land and Apple Trees
    zoj 2193 Window Pains
    poj 2031 Building a Space Station(最小生成树)
    zoj 1060 Sorting It All Out(拓扑排序)
    拓扑排序
    poj 1287 Networking
    zoj 1586 QS Network
    poj 1679 The Unique MST
  • 原文地址:https://www.cnblogs.com/sch01ar/p/11285264.html
Copyright © 2020-2023  润新知