Django modele 常用字段 on_delete属性
1 # class UserGrop(models.Model): 2 # uid = models.AutoField(primary_key=True) 3 # 4 # name = models.CharField(max_length=32,null=True,blank=True) 5 # email = models.EmailField(max_length=32) 6 # text = models.TextField() 7 # 8 # # 添加时更新时间 9 # ctime = models.DateTimeField(auto_now_add=True) 10 # #修改时更新时间 11 # uptime = models.DateTimeField(auto_now=True) 12 # 13 # 14 # ip = models.IPAddressField() 15 # ip = models.GenericIPAddressField() 16 # 17 # 18 # active = models.BooleanField(default=True) 19 # 20 # data = models.DateTimeField() 21 # data = models.DateField() 22 # data = models.TimeField() 23 # 24 # 25 # age = models.PositiveIntegerField() 26 # balance = models.SmallIntegerField() 27 28 # 29 # 30 # user_type_choices = ( 31 # (1,'超级用户'), 32 # (2,'普通用户'), 33 # (3,'普普通通用户') 34 # ) 35 # 36 # user_type_id = models.IntegerField(choices=user_type_choices,default=1)
ut = models.ForeignKey(to=UserTypes,to_field='id',related_query_name='a',on_delete=models.CASCADE)
""" 一对多 Foreignkey可选参数 to 要关联的表中的字段名称 to_field = None 要关联的表中的字段名称 on_delete = None { model.CASCADE 删除关联数据,与之关联也删除 model.DO_NOTHING 删除关联数据 引发错误IntegrityError model.PROTECT 删除关联数据 引发错误ProtectedError model.SET_NULL 删除关联数据 与之关联的值为null(前提是FK字段需要设置为可以空) model.SET_DEFAULT 删除关联数据 与之关联的值设置为默认值(前提是FK字段需要设置为可为空) model.SET 删除关联数据 } related_name = None 反向操作时,使用的字段名 用于代替表名 delated_query_name = None 反向操作时,使用的连接前缀,用于代替表名 limit_choices_to=None 在Admin或ModelForm中显示关联数据时,提供条件: { limit_choices_to={'nid__gt':5} limit_choices_to=lamdba : { 'nid__gt':5 } } db_constraint=True 是否在数据库中创建外键约束 parent_link= False 在Admin中是否显示关联数据 """