建立外键的时候碰到上述报错
class Student(models.Model):
s_name = models.CharField(max_length=20)
s_age = models.IntegerField(default=15)
s_class = models.ForeignKey(S_Class)
当你在设置多对一关系时,必须要设置级联删除,也就是当你删除一条信息时,会级联的删除所有和这一条信息对应的另一张表的多个信息,也就是指定on_delete=models.CASCADE
正确的代码应当是class Student(models.Model):
s_name = models.CharField(max_length=20)
s_age = models.IntegerField(default=15)
s_class = models.ForeignKey(S_Class, on_delete=models.CASCADE)
Cannot assign “1”: “Student.s_class” must be a “S_Class” instance
添加数据是碰到以上错误,是因为Django 的orm 设置都是要先查询才能做增删改
def add_student(request):
student = Student()
student.s_name = 'mei%d' % randrange(100)
student.s_class=2
student.save()
return HttpResponse('添加成功')
正确的代码应为
def add_student(request):
student = Student()
student.s_name = 'mei%d' % randrange(100)
student.s_class=S_Class.objects.get(pk=1)
student.save()
return HttpResponse('添加成功')



