У меня есть класс Member, расширяющий модель User
class Member(models.Model):
user = models.OneToOneField(User, on_delete=models.PROTECT)
# extra fields
Когда я пытаюсь использовать следующую настраиваемую миграцию для предварительного заполнения базы данных начальным набором данных из файла
from django.db import migrations
from django.contrib.auth.models import User
import pandas as pd
def add_data_from_file(apps, schema_editor):
Member = apps.get_model('persons', 'Member')
df = pd.read_excel('path_to_file', sheet_name='sheet_name')
for ind in df.index:
user = User.objects.create_user(
username=df.username[ind],
first_name=df.first_name[ind],
last_name=df.last_name[ind],
email=df.email[ind],
password=df.password[ind],
)
Member.objects.create(
user=user,
date_start=df.date_start[ind],
date_stop=df.date_stop[ind]
)
class Migration(migrations.Migration):
dependencies = [
('persons', '0001_initial'),
]
operations = [
migrations.RunPython(add_data_from_file),
]
Django вызывает:
ValueError: невозможно присвоить " ":" Member.user "должен быть экземпляром" User ".
Есть идеи, почему это не работает?