Модель:
class CompanyList(models.Model):
company_id = models.CharField(max_length=10, unique=True)
company_name = models.CharField(max_length=100, unique=True)
class Reporting(models.Model):
company = models.ForeignKey(CompanyList, on_delete=models.CASCADE)
year_end = models.DateField()
class CompanyAccountsExtracts(models.Model):
reporting = models.ForeignKey(Reporting, on_delete=models.CASCADE)
data_type = models.CharField(max_length=30)
source = models.CharField(max_length=30)
value = models.CharField(max_length=30)
Теперь у меня есть файл данных pandas (company_accounts_extracts_upload) для записи в CompanyAccountsExtracts. Я использую следующий код для этого:
for i, row in enumerate(company_accounts_extracts_upload.values):
single_row = company_accounts_extracts_upload.iloc[i].to_dict()
report = models.Reporting.objects.get(company=single_row['Company ID Number'], year_end=single_row['Year End'])
DataExtract = models.CompanyAccountsExtracts(reporting=report,
data_type=single_row['DataType'],
source=single_row['Source'],
value=single_row['Value'],
)
DataExtract.save()
В строке «report = models.Reporting ...» появляется следующая ошибка:
DoesNotExist: Reporting matching query does not exist.
Однако я на 100% уверен, что компания и конец года существуют, как я вижу это в представлении администратора.
Я думаю, что ошибка может быть связана с тем, как я отправляю внешний ключ в качестве внешнего ключа создания отчетов, который снова является внешним ключом из CompanyList?