Ошибка программирования при создании автоматического экземпляра
Я использую 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)