繁体   English   中英

Django:我如何获得模型继承的模型? [重复]

Django: How do I get the model a model inherits from? [duplicate]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

可能重复:
获取python类parent(s)

我有一个:

class Animal(models.Model):
    pass

class Cat(Aminal):
    pass

class StreetCat(Cat):
    pass

如何找出模型继承的模型?

1 个回复

你可以通过__base__获取python中的直接超类

>>> StreetCat.__base__ is Cat
>>> True

如果您有多个基类class Foo(A, B) __bases__将为您提供所有父类的元组


感谢OP更新:以下django方法不检索抽象基类,因为从技术上讲,这些是用于存储将每个继承模型绑定到其父项的外键的内部使用方法。 被警告!

Django还间接地为继承模型提供了一些帮助,这些模型是遍历超类的纯python方法的快捷方式。

>>> StreetCat._meta.get_parent_list() 
[Out] : Set([Class Animal, Class Cat])

InheritedClass.parents是所有父项的有序字典,因此如果您需要,以下内容可用于获取最高父项:

>>> StreetCat._meta.parents.keys()[-1]

你也可以使用非django相关的方法,比如

>>> StreetCat.__mro__[-3] 
# once you know that BaseModel is an Object, and since all defined models subclass 
# the BaseModel, [-3] is the first class that subclasses models.Model
1 django-具有级联继承的重复模型

我有一个三级模型继承: 现在,我可以像这样复制QuestionNode对象: 但这对RequestContactNode无效,后者是继承的下一级别: 为什么会这样,并且有解决方法吗? ...

2 Django模型继承:重复的类字段

我有一个Django项目,每个模型都继承自一个通用的“对象”模型-该模型仅定义两个字段-对象的ID(因此整个系统中的每个对象都有唯一的标识符)和一个“类型”。 类型是特定实例是对象的类型。 这是一种“非规范化”字段,例如,它使从对象到人的树的下移速度更快。 基本上,在其中一个继承的模型 ...

3 Django模型继承,过滤模型

给出以下模型:(不要介意TextFields只是为了说明) 根据这些定义,Content对象可以与多个Base对象相关联,例如。 面试(=内容对象)可以与音乐家(= Child1对象),电影导演(= Child2)等联系起来。 现在,对于我的问题:是否可以根据aso_items字 ...

4 Django查询继承的模型

我有类似下面的示例 我有一个分配给变量current_user的User实例,有什么方法可以使current_user.b_set工作? 感谢您的阅读。 ...

5 迁移自Django继承的模型

我们在应用程序中使用从CustomFlatPage模型派生的django.FlatPage模型。 它可以正常工作,但是FlatPage在Django 1.9中进行了更改,从而触发了CustomFlatPage的迁移。 但我们希望进行一次干净的迁移,即makemigrations在1.8或1. ...

6 Django的模型继承

我有这样的课: 为什么我不能在子类中使用“定义”? 有办法可以做到吗? 更新:看起来这在Django中是不允许的,但是我仍在寻找解决此问题的方法。 在Django中-模型继承-是否允许您覆盖父模型的属性? 我的观点课: 词汇词典的一部分: ...

7 Django模型继承结构

我是Django模型的新手,并且需要有关如何最好地构建模型的建议。 我的网站有服务,每个服务有多个计划。 每个公司可以有一项服务计划的多种服务。 这是我有的基本结构 我的服务计划结构相同。 这是我的问题:1.这是正确的吗2.我如何才能获得公司提供的所有服务 谢谢 ...

8 Django模型的“部分继承”

我知道部分继承它是不可能的。 我需要为我的Django应用程序创建一个用户模型,因为我想使用Django中定义的User类。 但我不需要用户名字段,根据需要设置。 假设我从User继承到MyUser。 是否可以删除MyUser中的用户名属性。 即del MyUser.usernam ...

9 Django模型继承

我正在尝试在我的网站上修复rsvp系统。 我有链接到用户模型的联系人模型。 来宾模型链接到联系和事件模型。 我尝试在Guest模型的基础上修复RSVP表单: 该表格由以下视图处理: 提交表单后,出现以下错误: “无法将关键字'email'解析为字段。选择包括:A ...

10 django模型形式继承

我在我的模型中使用django模型继承,但似乎这里没有工作是我的代码示例 我想从“ArticleAddForm”中排除“网站”,但在验证它是提出表单验证错误网站字段需要请帮忙吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM