繁体   English   中英

如何用用户填充django数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM