Ошибка программирования при создании автоматического экземпляра

Я использую django и столкнулся с ошибкой. Я хочу создавать IncidentGeneral автоматически, когда был создан UserReport. Как я могу этого добиться?

Ошибка: ProgrammingError at /admin/incidentreport/userreport/add/ столбец incidentreport_incidentgeneral.user_report_id не существует LINE 1: SELECT "incidentreport_incidentgeneral". "user_report_id", "i..

class UserReport(models.Model):
    PENDING = 1
    APPROVED = 2
    REJECTED = 3
    STATUS = (
        (PENDING, 'Pending'),
        (APPROVED, 'Approved'),
        (REJECTED, 'Rejected')
    )
    user = models.ForeignKey(User, on_delete=models.SET_DEFAULT, default='Anonymous')
    description = models.TextField(max_length=250, blank=True)
    location = models.CharField(max_length=250)
    upload_photovideo = models.ImageField(default='user.jpeg', upload_to='incident_report/image')
    date = models.DateField(auto_now_add=True)
    time = models.TimeField(auto_now_add=True)
    status = models.PositiveSmallIntegerField(choices=STATUS, blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def get_status(self):
        if self.status == 1:
            incident_status = 'Pending'
        elif self.status == 2:
            incident_status = 'Approved'
        elif self.status == 3:
            incident_status = 'Rejected'
        return incident_status

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


class IncidentGeneral(models.Model):
    WEATHER = (
        (1, 'Clear Night'),
        (2, 'Cloudy'),
        (3, 'Day'),
        (4, 'Fog'),
        (5, 'Hail'),
        (6, 'Partially cloudy day'),
        (7, 'Partially cloudy night'),
        (8, 'Rain'),
        (9, 'Rain'),
        (10, 'Wind'),
    )

    LIGHT = (
        (1, 'Dawn'),
        (2, 'Day'),
        (3, 'Dusk'),
        (4, 'Night'),
    )

    SEVERITY = (
        (1, 'Damage to Property'),
        (2, 'Fatal'),
        (3, 'Non-Fatal'),
    )

    user_report = models.OneToOneField(UserReport, on_delete=models.CASCADE, primary_key=True)
    accident_factor = models.OneToOneField(AccidentCausation, on_delete=models.CASCADE)
    collision_type = models.OneToOneField(CollisionType, on_delete=models.CASCADE)
    crash_type = models.OneToOneField(CrashType, on_delete=models.CASCADE)
    weather = models.PositiveSmallIntegerField(choices=WEATHER, blank=True, null=True)
    light = models.PositiveSmallIntegerField(choices=LIGHT, blank=True, null=True)
    severity = models.PositiveSmallIntegerField(choices=SEVERITY, blank=True, null=True)
    movement_code = models.CharField(max_length=250, blank=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    @receiver(post_save, sender=UserReport)
    def create_user_report_general(sender, instance, created, **kwargs):
        if created:
            IncidentGeneral.objects.get_or_create(user_report=instance)

    post_save.connect(create_user_report_general, sender=UserReport) 
Вернуться на верх