嵌入字段:必须是模型的实例:<;类别';django.db.models.base.Model'&燃气轮机;

嵌入字段:必须是模型的实例:<;类别';django.db.models.base.Model'&燃气轮机;,django,djongo,Django,Djongo,我试图用对象管理器为条目模型(从djongo模型扩展而来)做一个虚拟播种器,但在保存时出错 错误:必须是模型的实例:` Python脚本 来自djongo导入模型的 从django.core.management.base导入BaseCommand,CommandError 类博客(models.Model): name=models.CharField(最大长度=100) tagline=models.TextField() 类元: 抽象=真 类条目(models.Model): _id=m

我试图用对象管理器为条目模型(从djongo模型扩展而来)做一个虚拟播种器,但在保存时出错

错误:必须是模型的实例:`

Python脚本

来自djongo导入模型的

从django.core.management.base导入BaseCommand,CommandError
类博客(models.Model):
name=models.CharField(最大长度=100)
tagline=models.TextField()
类元:
抽象=真
类条目(models.Model):
_id=models.ObjectedField()
blog=models.EmbeddedField(
model_container=Blog
)
headline=models.CharField(最大长度=255)
objects=models.DjongoManager()
def build_dummy_entry():
e=Entry.objects.create(
headline='h1',
博客={
“名称”:“b1”,
“标语”:“t1”
})
g=Entry.objects.get(headline='h1')
断言e==g
e=条目()
e、 博客={
“名称”:“b2”,
“标语”:“t2”
}
e、 标题='h2'
e、 保存()
类命令(BaseCommand):
帮助=“创建预设的虚拟条目”
def句柄(自身、*参数、**选项):
尝试:
生成\u伪\u条目()
self.stdout.write(self.style.SUCCESS(f'Successfully created dummy blog'))
例外情况除外,如e:
raise命令错误(f'{e}')
回溯
CommandError:Value:{'name':'b1','tagline':'t1'}必须是模型的实例:
---编辑解决方案--- 我使用的是1.3.1
我检查了版本1.3.2和1.3.3,看起来这些版本包含了对实例化错误的修复。

正如错误所说,您应该使用模型实例,但您使用的是dict

def build_dummy_entry():
    e = Entry.objects.create(
        headline='h1',
        blog=Blog(**{'name': 'b2', 'tagline': 't2'}),
    )

    ...

正如错误所说,您应该使用模型实例,但您使用的是dict

def build_dummy_entry():
    e = Entry.objects.create(
        headline='h1',
        blog=Blog(**{'name': 'b2', 'tagline': 't2'}),
    )

    ...

你能带你的经理去吗?我想有个打字错误。你能给你的经理看看吗?我想有个输入错误。嗨,因为我的博客模型是抽象的,所以我不能使用对象管理器。但最终你的答案是正确的,我只需要使用博客模型的构造函数和扩展操作符。->
e.blog=blog(**dict\u有效载荷)
。非常感谢你的帮助,我给你提交了一个正确的代码编辑。当你批准它时,我可以使你的答案有效@我明白了。我没有注意到您的模型是抽象的,再次阅读您的代码时我看到了这一点。很高兴它起作用,我很乐意帮忙。(编辑被接受)。嗨,因为我的博客模型是抽象的,所以我不能使用对象管理器。但最终你的答案是正确的,我只需要使用博客模型的构造函数和扩展操作符。->
e.blog=blog(**dict\u有效载荷)
。非常感谢你的帮助,我给你提交了一个正确的代码编辑。当你批准它时,我可以使你的答案有效@我明白了。我没有注意到您的模型是抽象的,再次阅读您的代码时我看到了这一点。很高兴它起作用,我很乐意帮忙。(已接受编辑)。