gpt4 book ai didi

django - 更改 Django 模型实例的多态内容类型

转载 作者:行者123 更新时间:2023-12-05 04:12:48 24 4
gpt4 key购买 nike

如果我有一个多态模型:

class Father(polymorphic.model.PolymorphicModel)

和一个没有额外字段的继承类:

class Child(Father)

当我有一个 Father 实例时,如何将它转换为 Child 实例?

我试过的是:

foo = Father.objects.get(pk=1)
# foo is just a Father, no record in Child database table.
foo.polymorphic_ctype = ContentType.objects.get(app_label='myapp', model='child')
foo.save()

但是什么都没有改变。我希望 foo 成为一个子对象,并且需要将其放入子数据库表中。

最佳答案

好的。

看完这个类似post我意识到我需要另一项作业:

foo.__class__ = Child

这会在子表中插入,否则不会发生。

关于django - 更改 Django 模型实例的多态内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39472902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com