Я начал работать с БД трекера задач в Django. У меня есть разные приложения, такие как пользователь, задача, статус и т. Д. c., Сейчас я пытаюсь вызвать userID в другом приложении, которое фактически является идентификатором в таблице пользователей (по умолчанию автоматически сгенерированный столбец).
Ниже приведено пример, в котором я хочу вызвать ID из пользовательского приложения в приложение Status как userID:
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)
Ниже приведен код модели состояния, где я хочу использовать идентификатор в качестве внешнего ключа:
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)