django - 如何从 Wagtail 页面的 QuerySets 中识别私有(private)页面和公共(public)页面?

标签 django private wagtail public

当我从wagtail制作API时,我得到了查询集(包含私有(private)页面和公共(public)页面),那么我如何识别私有(private)页面和公共(public)页面?数据库表没有归档来识别它。我知道如何获取私有(private)查询集和公共(public)查询集,用例如下:

Page.objects.filter().all().public().live() Page.objects.filter().all().not_public().live()

我可以使用任何文件(例如 page.private)来获取此属性吗?

最佳答案

页面模型有一个 get_view_restrictions() 方法,该方法返回适用于页面的限制查询集;如果为空,则该页面是公开的。

is_private = page.get_view_restrictions().exists()

关于django - 如何从 Wagtail 页面的 QuerySets 中识别私有(private)页面和公共(public)页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62830884/

相关文章:

rust - 如何在实现特征时避免函数名冲突?

python - 签名中的显式参数不起作用?很奇怪

django - Celery 没有连接到 Redis Broker (Django)

jquery - 如何将搜索到的单词保留在第二个结果页面上

Java:访问修饰符比 'protected' 更严格,比 'private' 更严格?

c++ - 在类中使用枚举时,它会是公开的吗?为什么?

python - 找不到参数 'wagtailadmin_explore' ',)' 的 '(' 反向

python - Wagtail:用于更改子页面顺序的 Hook

css - Django 鹡鸰 :- RichTextField vs Streamfields RichTextBlock styling first letter of paragraph.

javascript - 是否可以避免使用 Django 和 Backbone.js 双模板?