Не записывается id при парсинге в модель
Почему данные не сохраняются в таблицу
Модель:
class Suppliers(models.Model):
Name = models.TextField(verbose_name="Name", blank=True, null=True)
def __str__(self):
return self.Name
class Articles(models.Model):
ExternalId = models.TextField(verbose_name="ExternalId", blank=True, null=True)
SupplierId = models.ForeignKey(Suppliers, on_delete=models.CASCADE, related_name='Articles', blank=True, null=True)
AssemblyGroup = models.TextField(verbose_name="AssemblyGroup", blank=True, null=True)
GenericArticle = models.TextField(verbose_name="GenericArticle", blank=True, null=True)
ArticleNumber = models.CharField(max_length=255, verbose_name="ArticleNumber", blank=True, null=True)
Type = models.IntegerField(verbose_name="Type", blank=True, null=True)
GenericArticleNumber = models.TextField(verbose_name="GenericArticleNumber", blank=True, null=True)
def __str__(self):
return self.ArticleNumber
Парсер
def get_products():
tmp_data = pd.read_csv('C:/Users/Sirius_McLine/PycharmProjects/BrixoDoc/ImportCSV/articles.csv', sep=';')
products = [
Articles(
ExternalId=tmp_data.loc[row]['ART_ID'],
SupplierId=Suppliers.objects.get(Name=tmp_data.loc[row]['SUP_NAME']).id,
AssemblyGroup=tmp_data.loc[row]['Assembly_Group'],
GenericArticle=tmp_data.loc[row]['Generic_Article'],
ArticleNumber=tmp_data.loc[row]['ART_NUM'],
Type=1,
GenericArticleNumber=8,
)
for row in tmp_data.index
]
Articles.objects.bulk_create(products)
Сам csv
ART_ID;ART_NUM;GEN_ART_NO;SUP_NAME;Assembly_Group;Generic_Article;ATTRIBUTES
4937#FL1105;FL1105;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1106;FL1106;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1110;FL1110;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1111;FL1111;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1112;FL1112;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1114;FL1114;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1116;FL1116;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1117;FL1117;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
Ошибка
Traceback (most recent call last):
File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\manage.py", line 22, in <module>
main()
File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
utility.execute()
File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\__init__.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\base.py", line 414, in run_from_argv
raise ValueError(
ValueError: Cannot assign "4": "Articles.SupplierId" must be a "Suppliers" instance.