Невозможно заполнить базу данных файлом excel в Django ( Команда управления )
Команда управления (populatedb.py)
import pandas as pd
from django.core.management.base import BaseCommand из django.apps import apps
class Command(BaseCommand): help = "Создание объектов модели по указанному пути к файлу"
def add_arguments(self, parser):
parser.add_argument('--path', type=str, help="file path")
parser.add_argument('--model_name', type=str, help="model name")
parser.add_argument('--app_name', type=str, help="django app name that the model is connected to")
def handle(self, *args, **options):
file_path = options['path']
_model = apps.get_model(options['app_name'], options['model_name'])
df = pd.read_excel(file_path)
header = list(df.columns)
for row in df:
_object_dict = {key: value for key, value in zip(header, row)}
_model.objects.create(**_object_dict)
Ошибка терминала:
ValueError: Cannot assign "'a'": "State.country" must be a "Country" instance.
Вам нужно получить экземпляр страны, используя модель state. Вы можете сделать что-то вроде этого.