Я хочу заполнить базу данных Django, используя manage.py loaddata initial_data.json
, где json-файл содержит спецификации нескольких объектов. Моя проблема заключается в том, что у этих объектов есть атрибут user, ссылающийся на объект Django User, чтобы указать, какой пользователь создал их. Модель для этих объектов выглядит следующим образом:Как заполнить базу данных django пользователями
from django.db import models
from django.contrib.auth.models import User
class MySpecialModel(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User)
объекты в моей JSON будет выглядеть следующим образом:
[{"fields":{
"name": "some name",
"user": XXX
}
...]
Проблема заключается в том, что я не знаю, что писать вместо XXX для указания пользователя. Я пробовал с именами пользователей, но Django говорит мне, что ожидает номер, где есть XXX. использование числа не приводит к ошибке, но я не вижу, что моя база данных заполнена. Итак, есть ли способ разместить объект Django в файле initial_data.json?
Спасибо, так что нет никакого способа получить пользователя по имени пользователя, я думаю. Это все равно должно сделать трюк. – Zulko
@ Zulko также читает https://docs.djangoproject.com/en/1.8/topics/serialization/#natural-keys – svfat