[英]How to populate a django database with users
我想使用manage.py loaddata initial_data.json
填充Django数据库,其中json文件包含多个对象的规范。 我的问题是这些对象具有“用户”属性,该属性引用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文件中?
您应该在user.pk
写一个user.pk
,它是一个整数值。
[{"fields":{
"name": "some name",
"user": 1
}
...]
显然,具有该pk的用户应该在导入任何具有外键的对象之前创建,因此也许可以更容易地通过admin之前创建一些用户(无论是否假)并使用以下命令将其导出: python manage.py dumpdata auth.User --indent 4 > users.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.