【发布时间】:2021-10-04 21:24:59
【问题描述】:
我是 Django 的新用户,我有两个模型,一个是 Department,另一个是 Employee。我需要链接这两个表,以便能够在表中查看每个部门下的详细信息。但是我收到一个错误,因为“NOT NULL 约束失败:pom_employee.department_id”。我没有在这个项目中使用表格。请帮帮我
In models.py
class Department(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Employee(models.Model):
name = models.CharField(max_length=124)
age = models.IntegerField()
department = models.ForeignKey(Department,on_delete=models.CASCADE,null=True)
def __str__(self):
return self.name
In views.py
def empdata(request):
if request.method == "POST":
name = request.POST.get('empname', False)
age = request.POST.get('empage', False)
try:
Employee.objects.create(name=name, age=age)
return redirect('/showemp')
except Employee.DoesNotExist:
print("I am in except")
Employee.objects.get(name=name, age=age).save()
return render(request, 'showempdetails.html')
【问题讨论】:
-
我认为如果您在“部门”的名称字段中添加非空值,它会起作用(如果它起作用,请告诉我解释一下)
-
如果您在第一次迁移后添加了
not null,请确保您在修改后已迁移以按预期工作。迁移:python manage.py makemigrations并迁移:python manage.py migrate -
我认为您有一些未应用的迁移。请运行您的迁移并检查是否有帮助。
-
@Ram 我做了 python manage.py makemigrations 和 python manage.py migrate
-
你可以浏览这个帖子:stackoverflow.com/questions/25964312/…
标签: python mysql django foreign-keys