У меня есть две модели классов в Джанго. Я хочу вставить значения в модели одновременно, используя файл CSV.
Две модели: User и User_Stats. User_stats имеет внешний ключ от пользователя. Я хочу вставить некоторые строки из CSV-файла в User, а некоторые в User_stats. Я не уверен, как это будет сделано.
class User(models.Model):
full_name = models.CharField('Full Name',max_length=100)
username = models.CharField('Username',max_length=100,unique=True)
photo = models.ImageField(upload_to = 'photos/%Y/%m/%d/',blank=True)
email_id = models.EmailField('Email Id',blank=True)
class User_Statistics(models.Model):
username = models.ForeignKey(User,on_delete=models.CASCADE)
total_posts = models.PositiveIntegerField('Total Posts')
followers = models.PositiveIntegerField('Followers')
following = models.PositiveIntegerField('Following')
def write_to_db(file):
with open(str(file),encoding='utf-8') as csvfile:
csvreader = csv.reader(csvfile)
next(csvreader,None)
for row in csvreader:
_,created = User.objects.get_or_create(
full_name = row[0],
username = row[1],
email_id = row[2],
external_url = row[8],
brands_worked_with =
_,stats = User_Statistics.objects.get_or_create(
username =User.objects.get() )
Какой запрос / функцию я должен написать в User_Statistics, чтобы обе таблицы были синхронизированы.