当我执行python loaddata lecteurs
时,我没有错误,并且这个正常输出:Installed 2 object(s) from 2 fixture(s)
。
问题是我在Django的shell中输入并尝试Lecteurs.objects.all()
这将返回一个空数组。在
这就是Lecteur(模特)的样子:
class Lecteur(User):
bibliotheque = models.ManyToManyField('bibliotheque.Livre')
localisation = models.ForeignKey(Localisation)
yaml文件叫讲师.yaml公司名称:
^{pr2}$其他的固定装置负荷正常。 希望你能帮我,我已经足够明确了。在
TL;DR
您的
yaml
可能创建错误或缺少其他User
详细信息。在解释
好的,所以我做了一个执行fixture的例子,对我有用。在
所以我最初是通过代码创建
yaml
的序列化,意思是:跟随:
1.
创建了一个示例模型,如下所示:
^{pr2}$2.
在Django Shell中,我执行了以下操作:3.
然后通过serializer
创建一个yaml
转储,并添加到文件try.yaml
接下来是最重要的部分,我的山药看起来怎么样?在
像这样:
这里出现了一个小混乱,即使我得到}什么也没给。在
Installed 3 object(s) from 3 fixture(s)
和{现在重要的事情来了:
我注意到,由于存在
User
模型继承,yaml
是不完整的,因为django无法在获得数据时找到要填充的用户数据。在所以,我做了这样的事情来从
database
获得完整的数据:python manage.py dumpdata format "yaml" > try.yaml
当我通过加载
yaml
重新创建数据库时:python manage.py loaddata try.yaml
我把数据放回数据库。这是因为
User
表数据存在于yaml
中,因此django现在可以正确地填充数据库。在这是我相同的
try.yaml
文件:理想情况下,django应该抱怨,但可能是个bug。不确定执行情况。在
请特别注意以下yaml代码:
该代码用于标识在创建自定义类之前必须添加的用户。在
相关问题 更多 >
编程相关推荐