OperationalError в … нет такого столбца: funcionarios_funcionario.user_id

#django #django-models

#django #django-модели

Вопрос:

Я новичок в Django, и я столкнулся с проблемой. Я получаю это сообщение в консоли:

 django.db.utils.IntegrityError: The row in table 'funcionarios_funcionario' wi
th primary key '1' has an invalid foreign key: funcionarios_funcionario.empres
a_id contains a value '1' that does not have a corresponding value in empresa_
empresa.id.
  

и когда я запускаю приложение, я получил это сообщение

 OperationalError at /admin/documentos/documento/add/
no such column: funcionarios_funcionario.user_id
Request Method: GET
Request URL:    http://127.0.0.1:8000/admin/documentos/documento/add/
Django Version: 3.1.2
Exception Type: OperationalError
Exception Value:    
no such column: funcionarios_funcionario.user_id
  

класс documentos

 from django.db import models
from apps.funcionarios.models import funcionario

# Create your models here.
class Documento(models.Model):
    descricao = models.CharField(max_length=100)
    pertence = models.ForeignKey(funcionario, on_delete=models.PROTECT)

    def __str__(self):
        return self.descricao
  

класс funcionarios

 from django.db import models
from django.contrib.auth.models import User
from apps.departamentos.models import Departamento
from apps.empresa.models import Empresa

class funcionario(models.Model):
    nome = models.CharField(max_length=100)
    user = models.OneToOneField(User, on_delete=models.PROTECT)
    departamentos = models.ManyToManyField(Departamento)
    empresa = models.ForeignKey(Empresa, on_delete=models.PROTECT)

    def __str__(self):
        return self.nome
  

Как я могу это решить?

Большое вам спасибо!

Ответ №1:

Кажется, что каким-то образом вы удалили связанную empresa, и теперь у вас есть ошибка целостности, поскольку вы установили «on_delete=models .ЗАЩИТА» в ваших внешних ключах.

Espero ter ajudado!