如何使用用户

时间:2015-08-19 14:48:21

标签: python json django

我想使用manage.py loaddata initial_data.json填充Django数据库,其中json文件包含多个对象的规范。我的问题是这些对象具有引用Django User对象的'user'属性,以指示哪个用户创建了它们。这些对象的模型如下所示:

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文件中?

1 个答案:

答案 0 :(得分:4)

你应该在那里写一个user.pk,它是一个整数值。

[{"fields":{
            "name": "some name",
            "user": 1
       }
 ...]

显然,在导入具有外键的任何对象之前,应该创建具有该pk的用户,因此可能更容易通过admin创建一些(假的或非假的)用户并导出它们:{{1} }