问题标签 [django-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
506 浏览

django - 获取继承对象的反向模型外键对象

我有以下模型,其中引用了一个对象和一个它继承自的对象:

问题是当我尝试引用反向关系时,我无法仅访问品牌实体。我想让员工与品牌相关联。我试过这个:

它输出:

我希望它输出:

0 投票
1 回答
128 浏览

django - Django {% include %} 标签显示硬编码字符串但不可变

我希望一个模板使用 Django{% include %}标签从另一个模板继承一个变量。但它没有发生。

section.html,要继承的模板:

index.html,它应该继承word_in_templatesection.html

我也试过了{% include "section.html" with word_in_template=word %}

我的观点:

section.html在 Chrome 中的输出:

index.html在 Chrome 中的输出:

我正在遵循这个解决方案,但它对我不起作用。"frisky things"显示我是否加载section.html但它没有显示在index.html. 但是,硬编码的字符串My cows are home显示在index.html.

我想我也正在关注文档。但我是新来的,所以也许我读错了东西或其他东西。我究竟做错了什么?

0 投票
1 回答
1809 浏览

django - Django 1.11 模板继承 {% extends 'base.html' %} 显示错误

在此之前,感谢所有可以提供帮助的人。我对 Django“模板继承”有一些奇怪的行为 - 主要问题是 (menu.html) 中的 {% extends 'base.html' %} 在目标 (base.html) 文档中不显示任何内容。而相反 - Django 从 base.html 中获取标头并将其加载到 (menu.html) 中,这很奇怪,考虑到继承的逻辑。

我已经阅读了所有类似的问题,尝试了不同的方法,但什么都没有......无论如何 - “包含”标签与所有模板完美配合。

我在 Windows 10 上有 Django 1.11.11 和 python 3.6.4。

让我列出文件本身:

菜单.html:

base.html

网址.py

视图.py

Settings.py元素

项目目录结构:

0 投票
3 回答
3121 浏览

python - 使用代理模型的 Django 继承和多态性

我正在处理一个我没有开始的 Django 项目,我面临着继承问题。
我有一个大模型(在示例中进行了简化)MyModel,它应该代表不同类型的项目。

的所有实例对象MyModel都应具有相同的字段,但方法行为因项目类型而异。

到目前为止,它是使用一个MyModel名为item_type.
然后 MyModel 中定义的方法检查该字段并使用多个 if 执行不同的逻辑:

更重要的是,一些子类型有很多共同点,所以我们说子类型BC代表第一级继承。然后这些类型有子类型,例如B1, B2, C1, C2(在下面的示例代码中有更好的解释)。

我会说这不是执行多态性的最佳方法。

现在我想更改这些模型以使用真正的继承。

由于所有子模型都具有相同的字段,我认为不需要多表继承。我正在考虑使用代理模型,因为只有它们的行为应该根据它们的类型而改变。

这是我想出的伪解决方案:

如果我们已经知道我们正在处理的对象的类型,这可能会起作用。
假设我们要实例化 C1 类型的 MyModel 对象,那么我们可以简单地实例化 aModelC1并且 item_type 将被正确设置。

问题是如何从通用 MyModel 实例中获取正确的代理模型?

最常见的情况是当我们得到一个查询集结果时:MyModel.objects.all()所有这些对象都是 MyModel 的实例,它们对代理一无所知。

我见过不同的解决方案,比如 django-polymorphic,但据我所知,它依赖于多表继承,不是吗?

我见过的几个 SO 答案和自定义解决方案:

但他们都没有100%说服我..

考虑到这可能是一种常见的情况,是否有人提出了更好的解决方案?

0 投票
1 回答
784 浏览

django - Django templates - include and repeat the block contents

In my home.html page, I am trying to include a header.html file along with extending base.html. Following is my code

Home.html looks like the following

However, it returns an error - ''block' tag with name 'nav' appears more than once'.

Why is that? Is there any solutions to this?

Regards

0 投票
1 回答
2715 浏览

python - 如何在 django 的 admin.py 文件中注册继承的子类?

  • 项目名称:融合
  • 应用名称:admin_lte
  • 蟒蛇 3.7
  • 姜戈 2
  • mysql

问题是“我想在 django 管理面板中注册子模型”,当我在 admin.py 文件中编写模型注册代码时,出现以下错误。

django.core.exceptions.ImproperlyConfigured:模型 Device 是抽象的,所以不能用 admin 注册。

注意:我使用了多个分离的模型文件。

device.py(模型文件)


__init__.py 文件


管理员.py


我想在管理面板中显示子模型(台式机、笔记本电脑、手机),以便管理员可以从管理面板添加一些数据。


项目结构图:

0 投票
1 回答
787 浏览

python - 未覆盖基于 Django 类的视图中的自定义函数

我有一个父视图和一个子视图。我想在子视图中覆盖一个自定义函数,如下所示:

我的网址:

我想覆盖父视图 next_url 并将其传递给 post()

目前输出只打印:“NEXT URL: ...”

我该如何解决这个问题?提前致谢

0 投票
1 回答
798 浏览

python - 具有模型继承的 Django 索引

我正在尝试为我的抽象基类模型添加索引,以便它的子类也可以具有相同的索引。

首先我有这个:

追溯:

这就是我接下来尝试得到的完全相同的错误:

不知道该怎么做,因为我有不止两个子类,抽象模型有 20 多列。

0 投票
1 回答
387 浏览

django - Django 模型继承了所有超模型字段,除了 IntegerField

我有一个奇怪的问题,我有一个模型的层次结构,一个抽象的用户类:

然后是一个继承自这个的个人类和一个公司(这个没有问题)类:

如您所见, IntegerField() 的唯一字段是年龄字段。现在我有一个 Traveler 和一个从 person 类继承的 Driver 类,问题是年龄字段,不会显示在数据库中,除非我在其中一个类中覆盖它,这就是我所做的,我在其中覆盖它traveler 所以它出现在数据库中,但没有在驱动程序中覆盖它,所以它没有显示。游客:

司机:

我需要知道如何解决这个问题,或者是什么问题,感谢您的帮助。

0 投票
4 回答
427 浏览

python - 继承模型更新到其父模型

我需要从另一个模型扩展一个模型。

案子:

核心/模型.py

自定义/models.py

自定义是一个应用程序。

我尝试过使用代理模型,但这不是我需要的,因为代理模型添加了一个新表。https://docs.djangoproject.com/en/2.2/topics/db/models/#proxy-models

我需要的是,当我迁移时,将新字段添加到 City。

更多信息。在核心中创建表,在自定义中您可以添加客户需要的新字段。这个想法是核心仅作为标准维护。