models.ForeignKey() 是 Django ORM 中的一个字段类型,用于定义关联关系。在使用 models.ForeignKey() 时,可以传入一些参数来控制关联行为。以下是一些常用的参数说明:
to:指定关联的目标模型类。
on_delete:指定当关联对象被删除时的行为。CASCADE或者SET_NULL
related_name:指定反向关联的名称。
to_field:指定关联的目标模型类中用于关联的字段名称。
db_index:如果为 True,则在目标模型的关联字段上创建索引。
null 和 blank:指定关联字段是否可以为空。
limit_choices_to:指定关联对象的过滤条件。
verbose_name 和 help_text:用于在 Django Admin 后台中显示字段名称和帮助文本。
以下是一些参数的详细说明:
to:指定关联的目标模型类。可以使用字符串表示模型类的路径,也可以直接使用模型类的引用。例如:to='myapp.MyModel' 或 to=MyModel。
on_delete:指定当关联对象被删除时的行为。可以设置以下几个选项:
CASCADE:级联删除,即删除关联对象时同时删除所有依赖它的对象。
PROTECT:保护模式,即阻止删除关联对象,抛出 ProtectedError 异常。
SET_NULL:将关联字段设置为 NULL。
SET_DEFAULT:将关联字段设置为默认值。
SET():将关联字段设置为指定的值,可以是一个字典、一个 QuerySet 或一个常量。
DO_NOTHING:什么也不做。
related_name:指定反向关联的名称,默认为 模型类名_set。例如:related_name='myfield',可以通过 myfield 属性来访问反向关联的对象。
to_field:指定关联的目标模型类中用于关联的字段名称。默认为主键字段。
db_index:如果为 True,则在目标模型的关联字段上创建索引。
null 和 blank:指定关联字段是否可以为空。如果 null=True,则数据库中该字段将允许 NULL 值。如果 blank=True,则表单中该字段可以为空。
limit_choices_to:指定关联对象的过滤条件。可以是一个字典、一个 QuerySet 或一个函数。例如:limit_choices_to={'is_active': True},表示只能关联到 is_active=True 的对象。
verbose_name 和 help_text:用于在 Django Admin 后台中显示字段名称和帮助文本。例如:verbose_name='作者',help_text='请输入作者名称'。
标签:name,ForeignKey,models,模型,指定,关联,对象,参数,True From: https://www.cnblogs.com/zx529/p/17298870.html