Django: в ссылающейся таблице 'tcReports_global_users' нет первичных или кандидатных ключей, совпадающих со списком столбцов ссылающейся таблицы во внешнем ключе 'fk

Вот мой models.py:

from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from django.contrib.auth.models import UserManager

class TcreportsGlobalApps(models.Model):
    appid = models.AutoField(db_column='appID', primary_key=True)  # Field name made lowercase.
    path = models.TextField()
    name = models.TextField()
    stableversion = models.CharField(db_column='stableVersion', max_length=10)  # Field name made lowercase.
    devversion = models.CharField(db_column='devVersion', max_length=10)  # Field name made lowercase.
    apptype = models.CharField(db_column='appType', max_length=100, blank=True, null=True)  # Field name made lowercase.
    appdepartment = models.CharField(db_column='appDepartment', max_length=100, blank=True, null=True)  # Field name made lowercase.
    islive = models.BooleanField(db_column='isLive', blank=True, null=True)  # Field name made lowercase.
    description = models.TextField(blank=True, null=True)

    class Meta:
        db_table = 'tcReports_global_apps'


class TcreportsGlobalLog(models.Model):
    id = models.BigAutoField(primary_key=True)
    log = models.TextField()
    created_at = models.DateTimeField()

    class Meta:
        db_table = 'tcReports_global_log'


class TcreportsGlobalPermissions(models.Model):
    appid = models.AutoField(db_column='appID', blank=True, primary_key=True)  # Field name made lowercase.
    userid = models.IntegerField(db_column='userID', blank=True, null=True)  # Field name made lowercase.
    permissions = models.BooleanField(blank=True, null=True)

    class Meta:
        db_table = 'tcReports_global_permissions'

class CustomUserManager(UserManager): 

    def create_user(self, username, password=None):
        if not username:
            raise ValueError('Users must have an username')
        user = self.model(username=username)
        user.set_password(password)

        user.save(using=self._db)

        user.userid = user.pk
        user.save()
        return user

    def create_superuser(self, username, password, email=None):
        user = self.create_user(
            username=username,
            password=password,
        )
        user.is_superuser = True
        user.save(using=self._db)

        user.userid = user.pk
        return user

class TcreportsGlobalUsers(AbstractBaseUser):
    userid = models.AutoField(db_column='userID', blank=True, primary_key=True)  # Field name made lowercase.
    username = models.CharField(max_length=100, blank=True, null=True, unique=True)
    sessiontoken = models.CharField(db_column='sessionToken', max_length=64, blank=True, null=True)  # Field name made lowercase.
    sessiontokenexpiry = models.DateTimeField(db_column='sessionTokenExpiry', blank=True, null=True)  # Field name made lowercase.

    objects = CustomUserManager()

    USERNAME_FIELD = 'username'

    class Meta:
        db_table = 'tcReports_global_users'

Я запустил python3 manage.py inspectdb на старой базе данных и внес основные изменения в созданный models.py. Каждое AutoField (не BigAutoField) было IntegerField, и я добавил primary_key=True к каждому полю *id. Я импортировал данные и схему из этой старой базы данных с помощью sql файла. база данных - mssql. Я получаю ошибку, указанную в заголовке. Вот полный отслеживание:

Что это значит? Что я могу сделать для отладки? Любая помощь будет принята с благодарностью. Спасибо

Вернуться на верх