django - 如何在django中使用多表继承复制对象

标签 django django-models django-orm multi-table-inheritance

我正在尝试复制一个通过多表继承扩展另一个对象的对象。

父级是“组”,子级是“位置”

问题在于父对象被更改,而不是创建新的父对象和子对象。

这就是我正在做的事情:

location = get_object_or_404(Location, pk=pk)

        location.pk = None
        location.name = location.name+' - child object'
        location.save()

这不会在各自的表中创建新的位置和组行,而是将组表更新为具有 name = name + ' - child object'。

如何让此过程创建新的位置和组行而不是更新组行?

谢谢!

最佳答案

这里的关键是 Django 中的多表继承是使用外键实现的,因此“继承”另一个模型的对象只需使用foreignkey到另一个模型即可。您需要复制两者

有关如何执行此操作,请查看 this answer 中的解决方案.

关于django - 如何在django中使用多表继承复制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19456838/

相关文章:

python - 属性错误 : can't set attribute

python - django/python 如何通过发布 json 连接到 Web 服务

python - Django 图像调整大小并在上传前转换

去年同一周 Django 查询

python - Django 查询按多对多关系最新版本的字段排序

python - 在 Django 中将 JSON 显示为表

python - 如何从 model+ModelForm 获取文本区域?

django - 根据与登录用户的关系限制表单选项

python - 在单个相关对象上使用多个条件进行过滤

python - 有没有办法在单个查询中获取表行和表数据的总数