dgango报错收集
Posted 梦中琴歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dgango报错收集相关的知识,希望对你有一定的参考价值。
1、报错TypeError: __init__() missing 1 required positional argument: ‘on_delete‘
django2.0以后创建数据库外键的时候必须要加on_delete参数,参数具体含义:
CASCADE
:这就是默认的选项,级联删除,你无需显性指定它。PROTECT
: 保护模式,如果采用该选项,删除的时候,会抛出ProtectedError
错误。SET_NULL
: 置空模式,删除的时候,外键字段被设置为空,前提就是blank=True, null=True
,定义该字段的时候,允许为空。SET_DEFAULT
: 置默认值,删除的时候,外键字段设置为默认值,所以定义外键的时候注意加上一个默认值。SET()
: 自定义一个值,该值当然只能是对应的实体了
一般的设置为 on_delete=models.CASCADE 就可以了
补充说明:关于SET()
的使用
**官方案例**
1 def get_sentinel_user(): 2 return get_user_model().objects.get_or_create(username=‘deleted‘)[0] 3 4 class MyModel(models.Model): 5 user = models.ForeignKey( 6 settings.AUTH_USER_MODEL, 7 on_delete=models.SET(get_sentinel_user), 8 )
2、django中verbose_name是什么意思?和label有什么区别?
label
是这个Field如果在form表单验证中会显示在模板的lable、而verbose_name
在form中不会显示、只是作为一种说明而已
以上是关于dgango报错收集的主要内容,如果未能解决你的问题,请参考以下文章