- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在设置一个需要使用多个子模型实例创建的模型。我希望能够在管理界面中编辑和创建此模型,因此我使用 ModelAdmin
添加它。根据documentation我应该能够根据正常的 Page
类型指定字段/面板;但是,当我添加 InlinePanel
时我在相关字段名称上收到 KeyError
。
models.py
class Application(models.Model):
# other fields....
panels = [MultiFieldPanel([
FieldPanel('applicant'),
FieldPanel('position'),
FieldPanel('cover_letter'),
FieldPanel('qualifications'),
InlinePanel('references'),
FieldPanel('draft'),
])]
class Reference(models.Model):
application = models.ForeignKey(
Application,
related_name='references',
on_delete=models.CASCADE,
blank=False,
)
# other fields....
wagtails_hooks.py
class ApplicationAdmin(ModelAdmin):
model = Application
menu_icon = 'mail'
menu_order = 400
list_display = # other fields....
modeladmin_register(ApplicationAdmin)
错误
Request URL: http://127.0.0.1:8000/admin/involvement/application/create/
Django Version: 1.10.5
Exception Type: KeyError
Exception Value: 'references'
Exception Location: /[APPFOLDER]/venv/lib/python3.6/site-packages/wagtail/wagtailadmin/edit_handlers.py in init, line 627
我无法确定自己做错了什么。有人能指出我正确的方向吗?
最佳答案
Wagtail 依赖 django-modelcluster库允许父模型和子模型作为一个单元在表单中进行处理。为此,基本应用程序模型必须继承自 modelcluster.models.ClusterableModel
(Wagtail Page
模型将此作为标准),并且必须链接子模型通过 ParentalKey
而不是 ForeignKey
。
InlinePanel
中的子模型通常也是 Orderable
的子类,因此可以对它们进行排序;我一时想不起来这是绝对要求还是只是建议。
from modelcluster.models import ClusterableModel
class Application(ClusterableModel):
# ...
class Reference(Orderable):
application = models.ParentalKey(
Application,
related_name='references',
on_delete=models.CASCADE,
blank=False,
)
关于django - 如何在ModelAdmin中使用InlinePanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42299519/
我遇到的情况是,Wagtail 片段是具有 FK 关系的模型。我不知道如何使其在 CMS 中作为内联可用。 给定: @register_snippet class TeamMember(models.
我有一个名为 SetListItem 的 Orderable 模型,在一个名为 FloorWithSets< 的 ClusterableModel 上有一个 ParentalKey/。父 FloorW
我定义了两个模型并将它们链接起来,如下所示。 Order 模型应使用 Wagtail InlinePanel 显示 OrderItems。如何在不将 Order 模型注册为代码片段的情况下使其正常工作
对于一小部分事件,我在页面模型中使用了 InlinePanel。现在我想按日期过滤这些事件,就像我在使用带有子页面的 @property 时所做的那样:date__gte=date.today() 仅
我已经创建了一个Planning 和一个Meeting 模型。我使用 Wagtail 的 ModelAdmin 来管理它们。 Planning 有一个 planning_panels,它是一个 Inl
我正在使用 Wagtail CMS,我需要对我的 Orderable 模型进行一些验证。比如,确保最多填写一个字段。 通常,我会覆盖 Django 模型的 clean(self) 方法,但在该方法中调
我是一名优秀的程序员,十分优秀!