Django.db.utils。编程错误:您存在于columna«user_id»en la relación«Django_admin_log»

2024-10-01 11:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在Django 2.0.2中开发一个项目,但在迁移模型时,我遇到以下错误:

django.db.utils.ProgrammingError: ya existe la columna «user_id» en la relación «django_admin_log»

以下是控制台显示的全部内容:

^{pr2}$

这就是给我带来问题的模型:

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver


class Perfil(models.Model):
    usuario = models.OneToOneField(
        User,
        on_delete=models.CASCADE
    )
    nombre = models.CharField(
        max_length=100,
        blank=False,
        verbose_name='Nombre',
        help_text='Ingrese su nombre'
    )
    apellidos = models.CharField(
        max_length=100,
        blank=False,
        verbose_name='Apellido',
        help_text='Ingrese su Apellido'
    )
    avatar = models.ImageField(
        upload_to='avatars/',
        null=True,
        blank=True,
        verbose_name='Avatar'
    )
    cumpleaños = models.DateField(
        blank=True,
        verbose_name='Fecha de nacimiento',
        help_text='Seleccione su fecha de nacimiento'
    )
    universidad = models.ForeignKey(
        'principal.Universidad',
        on_delete=models.CASCADE,
        verbose_name='Universidad',
        help_text='Seleccione la universidad a la que pertenece'
    )
    facultad = models.ForeignKey(
        'principal.Facultad',
        on_delete=models.CASCADE,
        verbose_name='Facultad',
        help_text='Seleccione su Facultad'
    )
    carrera = models.ForeignKey(
        'principal.Carrera',
        on_delete=models.CASCADE,
        verbose_name='Carrera',
        help_text='Seleccione su carrera'
    )
    publicaciones = models.ForeignKey(
        'evaluaciones.Publicacion',
        on_delete=models.CASCADE,
        verbose_name='Publicaciones',
        help_text=''
    )

    def __str__(self):
        return self.usuario.username

    class Meta:
        verbose_name = 'Perfil'
        verbose_name_plural = 'Perfiles'

我的意图是使用默认情况下带来Django的用户模型并添加其他字段,但是不会针对该错误执行迁移


Tags: djangotextnamefromimportverboseonmodels
1条回答
网友
1楼 · 发布于 2024-10-01 11:27:57

在几个小时的代码修改结束后,我设法修复了错误,问题是(正如你所说的)与用户表已经存在关系,我给出的解决方案是创建一个新的数据库,然后进行迁移,然后将数据从一个基元移到另一个基,幸运的是,用户表中没有数据,也许其他人无法解决这个问题,但就实际目的而言,这已经足够了

相关问题 更多 >