运行环境 : django 2.1
from django.db import models
# Create your models here.
class Grade(models.Model):
g_name = models.CharField(max_length=32)
class Student(models.Model):
s_name = models.CharField(max_length=16)
# s_grade = models.ForeignKey(Grade) # django version 1.x
s_grade = models.ForeignKey(to=Grade, on_delete=models.CASCADE) # django version >= 2.x
"""
关联类名
on_delete 在2.x版本是必填的
on_delete=
models.CASCADE 级联删除
PROTECT 保护
SET(1) 删除后设置为某个值
SET_DEFAULT 设置为默认值设置为某一个值
SET_NULL 设置为空
DO_NOTHING 什么都不变
"""
# django 2.x的外键设置参数比django 1.x多了一个参数,稍填写第二个参数就会报错
############# ERROR ###########
# book = models.ForeignKey('BookInfo')
# TypeError: __init__() missing 1 required positional argument: 'on_delete'