2013-05-18 48 views
1

如何为包含外键和日期时间字段的django模型提供初始数据。如何向django模型提供初始数据?

例如::

仲裁/ models.py

class Question(models.Model): 
    user=models.ForeignKey(User) 
    created=models.DateTimeField(auto_now_add=True) 
    question=models.TextField() 
    tags=models.CharField(max_length=50) 

仲裁/装置/ questions.json

[ 
    { 
    "model": "quorum.question", 
    "pk": 1, 
    "fields": { 
     "question": "what is cryptography in computer science?", 
     "tags": "computer science, cryptography." 
    } 
    }, 
    { 
    "model": "quorum.question", 
    "pk": 2, 
    "fields": { 
     "question": "How python language got name? from snake? is it from monty python circus performence(the projectile stuff)?", 
     "tags": "python" 
    } 
    } 
] 
+0

尝试[dumpdata(HTTPS://docs.djangoproject。 com/en/dev/ref/django-admin /#dumpdata-appname-appname-appname-model)和['loaddata'](https://docs.djangoproject.com/en/dev/ref/django-admin/ #loaddata-fixture-fixture) – yuwang

+1

使用'dumpdata --indent = 4 --natural'来了解如何为外键设置夹具。为日期时间字段使用字符串,例如“2013-01-01T00:00” –

回答

0

可以传递相关对象的主键:

"fields": { 
    "question": "what is cryptography in computer science?", 
    "tags": "computer science, cryptography.", 
    "user': 1 
} 

或者如果您的相关类定义了“自然键”,则可以使用该字段的值。

在这种情况下,User模型定义了一个名为natural_keyusername,所以你可以通过username

"fields": { 
    "question": "what is cryptography in computer science?", 
    "tags": "computer science, cryptography.", 
    "user': 'admin' 
} 

编辑 - 参考:https://docs.djangoproject.com/en/1.5/topics/serialization/#natural-keys

相关问题