问题标签 [modeladmin]

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 投票
2 回答
390 浏览

django - 有没有办法在 Wagtail 管理员的列表页面上显示一个字段?

我知道我可以将我的模型注册为 Django 模型并在其中添加图像,但我需要保存页面树并通过列表页面上的图像识别我的页面。长话短说,我需要在管理员的列表页面上显示图像。

鹡鸰管理员列表索引页面定制

0 投票
1 回答
323 浏览

python - wagtail-generic-chooser 小部件 (NoReverseMatch)

我无法弄清楚如何实现 wagtail-generic-chooser。我的目标相当简单。我有很多不是分层的数据,因此将数据创建为页面是没有意义的。Wagtail Model Admin 是完美的解决方案。但是,我需要能够在模型之间交叉引用数据,理想情况下,在选择数据时,最好有一个类似于 PageChooserPanel 或 SnippetChooserPanel 的选择器面板。但是,鹡鸰中没有内置模型选择器面板。我尝试了许多试图实现此目的的第 3 方应用程序,但它们不适用于较新版本的 wagtail 或 python 3。最后我遇到了 wagtail-generic-chooser,它似乎是一个完美的灵活解决方案,可以让我为我需要的模型连接创建一个 snippetChooserPanel 类型选择器。

不幸的是,我遇到了我遵循文档中概述的实施说明的问题,但我不清楚所有内容是什么,也不应该如何填写。

https://github.com/wagtail/wagtail-generic-chooser#chooser-widgets-model-based

我有一个引用事件类别模型的事件模型。事件类别模型和事件模型都设置为 modelAdmin 元素。

我安装了 wagtail-generic-chooser 并将其添加到我安装的应用程序中。

我的代码

类别.widget.py

事件模型 events.models.py 中的用法

在 widget.py 文件中,'choose_modal_url_name' 值从何而来?我将它从上面的文档示例中的 people_chooser 重命名为与我的课程相关的一个,但它似乎导致了错误。我需要在某处注册这个值吗?我需要注册小部件吗?或者这个值是否来自某个特定的地方。目前,它会引发错误:

/admin/events/eventoverview/edit/1/ 的 NoReverseMatch 'event_chooser' 不是注册的命名空间

对于这个函数,我从哪里获得反向函数的值。我不是参考 wagtailsnippet 而是参考 wagtailmodel 那么我该如何参考呢?我在 args 元组中使用什么?

您可以提供的任何建议或指导将不胜感激。或者如果你能让我知道我需要什么来使这个模型选择器面板正常工作。

0 投票
1 回答
302 浏览

python - 扩展 Wagtail Modeladmin CreateView 我得到一个 NoReverseMatch,如果我评论代码路由问题仍然存在

在给定模型的 wagtail modeladmin 上,我需要修改Create_Button以便它显示带有模型字段子集的创建视图并向外部服务添加API 调用。

覆盖编辑按钮我可以无缝地做到这一点,只需绑定属性

在 MyModelEditView(EditView) 上,刚刚在 form_valid 方法上添加了我的扩展逻辑。

按照相同的模式,我创建了一个MyModelCreateView(CreateView),将属性添加到 MyModelAdmin 为: create_view_class=MyModelCreateView

其定义如下:

一旦定义了这一点,对于我应该覆盖哪些 modeladmin 类方法来实现我们的需求有很多疑问:get_context_data、dispatch、form_valid,...
只是 python manage.py runserver 的问题,导航到 admin/mymodel 路径,然后崩溃:

所以你想,好吧,我做错了,注释最后的代码,放一个 ipdb 跟踪......问题仍然存在于 NoReverseMatch,没有办法摆脱这个。

清理浏览器缓存,切换到另一个浏览器,重新运行 runserver,重新创建数据库,没有什么能让这个问题恢复稳定。

最终你切换 git 分支,重新运行 git clone,重新安装 virtualenv,删除后端数据库,然后你有一个新的本地项目实现,直到我再次尝试解决这个问题。

所以我的问题是,到底发生了什么?这个缓存的路由在哪里?我和 django 一起工作了很多年,从来没有遇到过这样的行为。

0 投票
1 回答
273 浏览

django - 计算字段上的自定义 ModelAdmin 过滤器

我试图模仿的例子: https ://books.agiliq.com/projects/django-admin-cookbook/en/latest/filtering_calculated_fields.html

/admin/gallery/galleryitem/ 的 FieldError 无法将关键字“on_sale”解析为字段。

选项有:content_type、content_type_id、depth、description、direct_sale、direct_sale_extra_description、direct_sale_price、draft_title、expire_at、expired、external_links、first_published_at、formsubmission、gallery_images、go_live_at、group_permissions、has_unpublished_changes、id、index_entries、last_published_at、latest_revision_created_id、live、live_revision ,锁定,locked_at,locked_by,locked_by_id,numchild,所有者,owner_id,page_ptr,page_ptr_id,路径,重定向,修订,search_description,seo_title,show_in_menus,sites_rooted_here,slug,股票,标题,url_path,view_restrictions,workflow_states,workflowpage

模型.py

wagtail_hooks.py

0 投票
1 回答
27 浏览

title - Silverstripe 4.6 ModelAdmin 动态 $menu_Title

是否可以将 ModelAdmins $menu_Title 动态更改为例如

成员::currentUser()->Name ?

如何 ?谢谢。

0 投票
1 回答
94 浏览

django - 如何在 Wagtail ( ModelAdmin ) 和 Django Rest API 之间共享数据集

我正在使用 Wagtail 和 Vue 为短语制作翻译应用程序。为此,我将短语模型注册到 Waigtail 管理员(使用 ModelAdmin),以便编辑者可以在管理工具中添加新数据集。现在我必须创建 API,以便前端可以获取短语。但问题来了。我找不到为短语创建 API 的方法。据我了解,ModelAdmin 显然需要 APIViewSet,但关于文档,只有 PagesAPIViewSet、ImagesAPIViewSet 和 DocumentsAPIViewSet。我有点困惑,因为它不是一个异国情调的案例。

我正在考虑为带有自己的数据库的短语 API 制作一个新的 django 应用程序,但我无法想象它会这样做。

0 投票
0 回答
53 浏览

wagtail - 在 wagtail 中向 modelAdmin 添加多对多关系字段

我在 page.py 上有(客户与页面有多对多的关系):

然后我在 admin.py 上有这个

现在我需要 printable_customers 在该模型管理索引视图上是可排序和可搜索的。怎么做?在这个阶段,我可以看到可打印客户(例如 CompanyA,Company B)列的数据,但上面没有排序按钮。

可排序字段

0 投票
0 回答
39 浏览

wagtail - Wagtail ModelAdmin中可排序InlineFields中的条件默认条目

我已经在 Wagtail 中实现了 django-drip 应用程序,并且已经将所有功能都交给了 Wagtail 的 ModelAdmin,除了一个小问题。

对于那些可能不熟悉它的阅读者,它会按照它的建议做......根据用户模型查询集规则发送滴灌营销电子邮件。它通过管理员创建/编辑视图中的可排序 InlineFields 来实现这一点,该视图允许用户输入一个或多个排序规则,这些规则可能在向用户发送邮件时匹配用户。

自然,我想要一个默认属性“是否已订阅?” 匹配到一个布尔模型字段,is_subscribed该字段将从滴灌应用程序发送的未来电子邮件中排除已取消订阅营销电子邮件的用户。

我的modeladmin类是...

我像这样在我的 CreateView 条件函数上设置了一个打印语句,它按预期工作......

创建新的滴灌电子邮件模板时,调试服务器返回 false,并将默认规则附加到 CreateView 函数中指定的 InlineField 查询集规则集。

问题是,当我编辑刚刚创建的模板时,默认规则在那里两次......这是相关查询集的 SQL 转储:

我什至尝试专门创建一个 EditView 类而没有填写任何默认的 InlineFields,并在 CreateView 中测试逻辑,看起来还可以……

调试控制台说:

在创建时,它说:

因此,如果我的条件按预期工作,为什么它会复制 InlineField 中的默认条目?

0 投票
2 回答
409 浏览

python - 如何防止错误:ModelAdmin.autocomplete_fields 中的 403?

ModelAdmin.autocomplete_fields 看起来很容易在 Django 管理员中实现:

它正确呈现该字段(作为搜索字段而不是下拉菜单),但搜索字段显示“无法加载结果”并检查显示:

*/admin/autocomplete/403(禁止)jquery.js:9203

我假设从 Material 模型接收数据时存在 csrf 问题。我研究了从 csrf 中免除此请求的方法,但无法通过 ModelAdmin.autocomplete_fields 弄清楚如何做到这一点。

我也尝试使用 django-autocomplete-light 并且无法使其正常工作。

0 投票
1 回答
263 浏览

wagtail - Wagtail ModelAdmin 清理和验证相互依赖的字段

在 Django 中,您可以clean向表单添加一个方法来验证相互依赖的字段:

如何使用干净的方法向Wagtail ModelAdmin添加自定义表单?

Wagtail 具有panels概念并动态构建表单。我找不到任何关于覆盖表单的信息。有关于自定义创建和更新视图的信息。自定义视图似乎有点麻烦。