首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中提供模型配置预置

如何在Django中提供模型配置预置
EN

Stack Overflow用户
提问于 2016-10-28 23:58:35
回答 1查看 51关注 0票数 0

因此,我试图实现的是:我有两个模式A和B,其中有一个OneToOne关系。模型A的实例是总是在它们各自的模型B实例之前创建的。依赖于一个参数,我希望能够用不同的初始值初始化模型b的一个实例。

我想出的是定义一个ProtoTypeModel并用实际的模型对它进行子类,如下所示:

代码语言:javascript
复制
from django.db import models
#other imports

class PrototypeB(models.Model):
   #define all fields

class B(PrototypeB):
    pass

通过使用dict = PrototypeB.objects.filter(**my criteria).values()[0]或来自Django Rest框架的自定义序列化程序,我将得到一个dict,然后我可以使用它实例化B模型的实例:B.objects.create(**dict)

这是正确的做法,还是我错过了一个大点?

最好,D

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-30 22:46:08

万一有人在路上碰到同样的问题,我就是这样做的。首先,我考虑实现我前面提到的解决方案。然而,通过对多表继承的研究,我发现这实际上是一个不起作用的继承。

多表继承将创建一个隐式OneToOne _ptr字段,当删除B实例时,该字段将触发级联删除行为,导致删除cascade类型模型。

我完成了PrototypeB和B两种模型的实现,这两种模型工作得非常好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40314689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档