问题标签 [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 回答
633 浏览

python - 如何为 Django 中子类的基类属性提供默认值?

设想:

IE。我需要能够将夹具加载到数据库中,仅当 base_field 为 None 时才提供默认值。非常感谢任何帮助!(注意:BaseClass 不是抽象的)

0 投票
10 回答
62034 浏览

python - 在 Django - 模型继承 - 它是否允许您覆盖父模型的属性?

我正在寻找这样做:

这是我想使用的版本(尽管我愿意接受任何建议): http ://docs.djangoproject.com/en/dev/topics/db/models/#id7

这在 Django 中支持吗?如果没有,有没有办法达到类似的结果?

0 投票
4 回答
659 浏览

python - 帮助 Python 新手解决 Django 模型继承问题

经过多年的 PHP 编程,我正在开发我的第一个真正的 Django 项目,但我的模型遇到了问题。首先,我注意到我在模型之间复制和粘贴代码,作为一个勤奋的 OO 程序员,我决定创建一个其他模型可以继承的父类:

到现在为止还挺好。现在我所有的其他模型都扩展了“Common”,并有我想要的名称和日期。但是,我有一个“类别”类,名称必须是唯一的。我认为应该有一种相对简单的方法可以让我从 Common 访问 name 属性并使其独一无二。但是,我尝试使用的不同方法都失败了。例如:

导致 Django 管理页面吐出错误“渲染时捕获异常:'Category'对象没有属性'name'

有人可以指出我正确的方向吗?

0 投票
1 回答
415 浏览

django - 在 django-haystack 中,如何使用模型的子类?

我正在尝试让 django-haystack(使用 xapian 后端)通过nameanddescription字段在此处索引我的模型以进行搜索。

我有一个 , 的子类ItemDevice它添加了一个manufacturer字段。

Item模型是这样定义的:

我的 django-haystack 子类SearchIndex如下所示:

我已经设置了这个模板,在templates/search/indexes/catalog/item_text.txt

当且item_text.txtmanufacturer当模型对象是Device?

0 投票
4 回答
11133 浏览

django - 在对基类进行查询后确定 Django 模型实例类型

在从对基类的查询中返回后,有没有办法确定 Django 数据库对象的“真实”类是什么?

例如,如果我有这些模型......

并创建这些实例...

如果我执行类似 的查询Animal.objects.all(),我最终会得到两个Animal实例,而不是 的实例Person和 的实例Dog。有什么方法可以确定哪个实例属于哪种类型?


仅供参考:我已经尝试过这样做......

但这似乎不起作用。

0 投票
1 回答
4451 浏览

django - django中不同用户类型的单独“管理”界面

我最近正在尝试创建一个涉及多个用户级别的项目。

(只是一个简短的粗略模式的例子)

  • 我(超级用户)
    • 客户_
      • 客户_
      • 调查集合
        • 调查用户
          • 受邀者_
        • 调查
          • 被邀请人(被邀请人是调查和用户的孩子)
        • 问题
        • ETC

理想情况下,我会:

  • www.example.com/client/ 转到您必须是客户端才能访问的客户端界面
  • www.example.com/customer/ 转到您必须是客户才能访问的客户界面

我已经确定为所有这些都使用定制的 Django 管理界面可能是不可能的(或者是吗?)。因此,我倾向于为每个级别的用户手动创建“管理”界面,允许他们管理各自的角色。为每个用户设置不同的用户类型和单独的界面的最佳方式是什么?

我喜欢继承用户的方式:http: //scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

但我不确定如何为不同的用户设置不同的“管理”区域。

作为一个相关的附带问题,我也不确定如何访问自定义属性以及标准用户属性以及如何在我将使用的 ACTUAL 管理界面中编辑/保存它们。

我需要针对客户端数据库对“客户端”用户进行身份验证,以检查他们是客户端,但不知何故还要针对管理身份验证、用户名、密码等的用户数据库进行身份验证。

我正在从 PHP 切换到 Python/Django,因此非常感谢任何可以帮助我的建议。

谢谢!

0 投票
2 回答
4665 浏览

django - 是否可以在 django 模板中进行多级模板继承?

我有三个 html 文件:

  • base.html
  • page.html
  • 评论.html

page.html我扩展base.html。在comment.html我扩展page.htmlcomment.html会扩展base.html的块吗?

0 投票
1 回答
759 浏览

python - 使用单个 DB 表的 Django 模型继承 - 从超类访问子类的问题

我正在使用 Oracle 开发 Django 应用程序,不允许修改 DB 模式。我有一张表,其中所有都Thesis存在,可以分成两个不相交的集合:PhdThesisBscMscThesis. 我也有Review模型,它链接到Thesis数据库表,不关心它是PhdThesis还是BscMscThesis,所以我想保留Thesisabstract = False

我遇到的问题是:

PhdThesis.objects.all()并按BscMscThesis.objects.all()预期返回两个不相交的集合。

为什么在上面的示例中不Thesis.objects.all()[0].phdthesis返回 None 或 DoesNotExist?我该怎么做才能得到这种行为?

0 投票
2 回答
2490 浏览

django - 带有指定字段的 Django select_related 打破了多个一对一关系

我在尝试通过多个 OneToOneField 关系选择相关时遇到一个奇怪的错误,例如,在目标字段是孙子类的情况下。我希望有人能帮助我了解发生了什么(或确认这是 Django 中的一个错误)。

插图:

很简单,对吧?现在我用一个干净的数据库打开 Django shell:

等等,什么?为什么那个查询集是空的?快速健全性检查:

那么为什么 select_related 调用不起作用呢?好吧,看这个:

那么,这是一个 Django 错误,还是我不明白什么?

0 投票
3 回答
767 浏览

django - Django:如何继承和查询相关字段

我一直在寻找这个问题的答案一段时间。如何将一个模型中的字段添加到相关模型并查询相关模型数据。

这是一个例子:一个人有很多工作。

上面的代码确实有效!

现在我想我有一个不同的问题。让 Django Rest 框架序列化这些附加属性。是时候发一个新帖子了。

现在我想要做的是查询工作并获取相关的人员数据以及工作人员字段。这样,当我查询作业时,我可以使用 job.FirstName。我基本上想从 Job 中创建到 Person 字段的快捷方式。这有点像 Job 在继承 Person 的字段。

预期的站点效果是,当将 Job 序列化为 json 以获取 rest 资源时,结果将包括 Person 字段数据。

我来自.Net C# 背景。现在,由于我使用的是 Python/Django,所以我不知道如何实现这一点。