我开始在 Django 中研究任务跟踪数据库。我有不同的应用程序,如用户、任务、状态等,现在我试图在不同的应用程序中调用 userID,这实际上是用户表中的一个 ID(默认情况下是自动生成的列)。
下面是我想将用户应用程序中的 ID 作为用户 ID 调用到状态应用程序的示例:
from user.models import User
class Task(models.Model)
userID = models.ForeignKey(User, to_field="id", db_column="userID", default="", editable=False,on_delete=models.CASCADE)
#Other fields
但我在终端中收到此错误:
django.db.utils.OperationalError: foreign key mismatch - "status_status" referencing "user_user"
这是错误日志。
我的表名也像status_status
,user_user
。我究竟做错了什么?
用户型号代码:
from django.db import models
class User(models.Model):
username = models.CharField(max_length=200)
password = models.CharField(max_length=250)
email = models.CharField(max_length=250)
department = models.CharField(max_length=250)
band = models.CharField(max_length=10)
team = models.CharField(max_length=250)
下面是我想使用 id 作为外键的状态模型的代码:
from django.db import models
from user.models import User
class Status(models.Model):
userID = models.ForeignKey(User, to_field="id", db_column="userID",
default="",editable=False, on_delete=models.CASCADE)
status = models.CharField(max_length=10)
startDate = models.DateTimeField()
endDate = models.DateTimeField()
remark = models.CharField(max_length=250)