3

ポリモーフィック モデルがある場合:

class Father(polymorphic.model.PolymorphicModel)

および追加のフィールドを持たない継承クラス:

class Child(Father)

父のインスタンスがある場合、それを子のインスタンスに変換するにはどうすればよいですか?

私が試したことは次のとおりです。

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を Child オブジェクトにしたいので、これを子データベース テーブルに含める必要があります。

4

3 に答える 3

2

Ok。

この同様の投稿を読んだ後、別の割り当てが必要であることに気付きました。

foo.__class__ = Child

これにより、子テーブルへの挿入が行われます。それ以外の場合は発生しません。

于 2016-09-14T15:29:13.730 に答える