问题标签 [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.
python - Django 模板:通过扩展模板覆盖包含的子模板块
我想知道是否有人知道如何处理以下古怪的模板结构:
而且,问题的核心:
问题是在扩展模板时,您只能覆盖在父级中声明的块,而不是它的任何子级。
我想我可以使 base.html 成为一个空的未使用的嵌套块的外壳,涵盖所有未来的意外情况,但即使这样也能正确覆盖吗?这是唯一的方法吗?
如果您想知道为什么我有一个围绕 base.html 的双向包含/扩展工作流,我有许多子模板希望在整个项目中使用:页眉、页脚、导航、侧边栏等。它们都是将在整个站点的结构上保持一致,但在许多情况下,站点的整个细分只需要其中的几个子模板。我的想法是在 templates/base 文件夹下定义子模板,并在其他地方扩展 templates/base-type1.html、templates/base-type2.html 等。每种类型只会引用所需的子模板,并根据需要覆盖它们以放置内容。
django - 扩展镜像存储模型
我正在尝试在我的项目中安装 imagestore 应用程序。默认模型创建成功,所有其他部分正常工作。
但是,它具有扩展基本(抽象)模型并通过一些复杂机制创建自己的功能的功能。这是我的模型:
我的设置中还有一个字符串IMAGESTORE_ALBUM_MODEL = 'art.models.Newalbum'
。当我运行 syncdb 时,它告诉我后端模块“art.models”没有定义“Newalbum”类。(“模块”对象没有属性“新专辑”)。但当然它定义了。
而陌生感才刚刚开始。当我将调试语句放在 imagestore 试图获取我的模型的地方时,它会打印正确的模块(已经导入)和正确的类名(字符串)。但!dir(mod)
仅打印出现在“from imagestore.models.bases.album import BaseAlbum”之前的变量。在上面的示例中,仅显示“models”和默认下划线属性。为什么?关于导入模块我不知道什么?
我已经尝试在设置属性、django 版本(和所需应用程序)、app_label 等的许多尴尬组合中安装它。当我没有在我的设置中添加 IMAGESTORE_ALBUM_MODEL 时,它会创建表,但是这个模型没有任何 BaseClass 的行为。那么,我做错了什么?
django - 如何从 Django 中的子对象中选择基类(使用模型继承)
我有一个基本模型和一个从它继承的模型,在设置上与此类似:
如何从子类访问基类?例如:
根据文档,它只是在孩子中自动创建的一对一关系,所以我认为它会让我倒退。我想要这个的原因是因为我有第三个非存档模型,它具有存档的外键。我想要存档的外键,因为这样第三个模型可以与任何存档相关,而不仅仅是特定的存档类型。
django - 其他模型字段上的 Django 模型继承
我有以下型号:
不,我在 a 上使用 DetailView Car
,TurboEngine
但car.engine.speed()
返回 100。如何让它选择正确的类?
django - django 多重继承
我目前正在做一个 django 项目,我需要做多个遗留。该项目本身有一个拥有多个网站的管理员。在我的管理部分,我创建了一个 Member 类,其中包含成员的所有必需信息。然后,所有单个站点都有一个 MemberExtra 类,它是从管理员的 Member 类创建的,我在其中添加了所有补充信息。当我启动我的服务器(python manage.py runserver ...)时,我遇到了那个错误:
管理员/models.py:
程序站点/models.py:
美食家/models.py:
django - 派生模型文件字段不可用
我有一个基础模型和从中派生的模型。基本模型不是抽象的,所以它也有与之关联的表。
问题:我先创建一个基本实例,然后再创建一个派生实例。并将派生实例与基础相关联。但是我进入FileField
派生类None
,即使它在父类中保存和可用。为什么这样?我错过了什么吗?
一些示例代码:
django shell 上的示例:
更新:@dgel 的回答:
save_base()
它会保存派生对象吗?dobj
之后没有得到 id。- 之后
dobj.save()
,似乎基类中的属性被派生类中的属性覆盖。 - 我用 default添加
ctime
了创建时间。所以一旦我保存派生对象,就会更新以节省派生对象的时间。BaseModel
datetime.datetime.utcnow
ctime
- 当我通过sqlitebrowser查看数据库时,
filepath
该行的字段BaseModel
为空。
谢谢。
python - Django 使用代理对复杂继承建模
我有这些模型:
现在我和他们玩了一下,但我发现了一个问题:
最后一行以意想不到的方式工作!因此,为了更好地查看文档,我搜索了 Django 自动向下转换属性,但我发现只有一个A()
没有自动转换的类B()
或C()
.
当我保存数据时,还有一种方法可以保存继承吗?谢谢!
django - django继承伤害了我的大脑
我正在制作一个啤酒网站,但我被困住了。我需要一个能与许多不同成分相关的食谱。有没有办法创建一个模型“成分”,并继承许多不同的模型:“啤酒花”、“谷物”等。我想这样做,所以我有我的配方和成分之间的关系,我没有创建 100 种不同的关系来涵盖每种成分。
这可能吗?
django - django 呈现一个空白页面
首先,我想承认,我对 Django 完全陌生。我正在尽可能地学习。我正在阅读一本名为“Beginning Django E-Commerce”的书。在不希望侵犯版权的情况下,也许你们可以发现我哪里出错了。我正在使用 Django 1.4.3,我正在使用的书可能是为 Django 1 编写的,也许是 1.1,但这里有。
我的 base.html
我的目录.html:
我的 index.html:
所有这些文件都存储在模板目录中。此时的书建议我运行以下命令:
并调整我的 urls.py:
urlpatterns = patterns('', ... (r'^catalog/$', 'preview.views.home'), )
调整预览目录下的views.py:
然后你应该能够看到一个页面,上面写着:
跳转到主要内容 [此处链接到购物车] 现代音乐家 [此处导航] [此处搜索框] [此处分类列表] 欢迎![此处为页脚]
但是,我得到的只是一个空白页。谁能弄清楚为什么?(这本书可能只是过时了)当我查看空白页的来源时。
这实际上是 base.html 的空白渲染。在开发服务器中,我没有错误: