小编ZG1*_*101的帖子

Django 全文 SearchVectorField 在 PostgreSQL 中已过时

我在PostgreSQL 中使用 Django 的内置全文搜索。

Django 文档说性能可以通过使用SearchVectorField. 该字段ts_vector在模型旁边保留了一个包含所有相关词素的预生成列,而不是在每次搜索期间即时生成它。

但是,使用这种方法,ts_vector无论何时更新模型,都必须更新。为了保持同步,Django 文档建议使用“触发器”,请参阅 PostgreSQL 文档以获取更多详细信息。

但是,PostgreSQL 文档本身说触发器方法现在已经过时了。与其手动更新ts_vector列,不如通过使用存储的生成列来自动更新列。

如何在 Django 中使用 PostgreSQL 推荐的方法?

django postgresql full-text-search

10
推荐指数
1
解决办法
1061
查看次数

django-haystack:无法向Solr添加文档:[原因:找不到错误404]

我正在使用django-haystack(v 2.3.1)与solr(v 5.0.0)和pysolr(v 3.0.0).我一直在下面的教程,并建立了类似myapp/search_indexes.py和search/indexes/myapp/mymodel_text.txt文件.

./manage.py build_solr_schema > schema.xml 工作正常,我已将其复制到$ SOLR_HOME/conf/schema.xml.

我尝试时会出现问题./manage.py rebuild_index.首先,我要求确认:

警告:这将从连接"default"中的搜索索引中无可挽回地删除所有内容.
此后您的选择是从备份还原或通过rebuild_index命令重建.
你确定要继续吗?[y/N] y

然后,它失败了:

从您的索引中删除所有文档,因为您这样说.
无法清除Solr索引:[原因:未找到错误404]
已删除所有文档.
索引6个故事
无法向Solr添加文档:[原因:找不到错误404]

我的连接设置是:

#settings.py
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
        'URL': 'http://127.0.0.1:8983/solr',
    },
}
Run Code Online (Sandbox Code Playgroud)

如果我导航到此网址,我可以看到solr管理页面.我确保端口8983对于solr是开放的(以及Django开发服务器的8000).

我觉得我可能没有提供足够的连接信息,但还有什么可以检查?

更新:
虽然我解决了这个问题,但还有更多问题,所有这些都是通过使用solr(v.4.7.0)来修复的,因为django-haystack还没有为solr 5做好准备(有一个与此相关的问题但是我再也无法在github上找到它.

solr pysolr django-haystack

9
推荐指数
1
解决办法
2841
查看次数

psql“无法识别更多”错误

我在 Windows 8.1(64 位)上使用 postgresql (9.4) 交互式终端 psql。安装并创建数据库和表并将数据插入一行后,我想查看数据。

但是,当我输入

SELECT * FROM my_table;
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

'more' 不是内部或外部命令,也不是可运行的程序或批处理文件。

添加“C:\Windows\System32;”后 对于我的路径变量,Powershell 中的更多作品(例如更多 hello.txt)但仍然不是 psql。

我还需要做什么才能使 SELECT 语句起作用?

windows postgresql psql

5
推荐指数
1
解决办法
1万
查看次数

django 测试客户端得到 404,但浏览器可以工作

我可以通过我的网络浏览器 ( http://127.0.0.1:8983/solr)访问本地地址以查看 Solr 管理员(搜索 web 应用程序)。

但是,通过 Django (1.7) 测试客户端,我得到:

>>> from django.test import Client  
>>> c = Client()  
>>> response = c.get('http://127.0.0.1:8983/solr')  
>>> response.status_code  
404
Run Code Online (Sandbox Code Playgroud)

为什么 Django 不能连接到与我的浏览器相同的地址?

testing django django-testing django-tests

3
推荐指数
1
解决办法
1444
查看次数

在 wagtail 中使登录的作者用户

对于博客应用程序或 CMS 来说,这似乎是一个非常简单的要求:

如何自动使登录用户成为 wagtail 页面的作者?例如,如果我以“Bob”身份登录并输入帖子,则作者应自动为“Bob”。

通常我会简单地将它写入我的 Django 视图中,但由于我使用的是 Wagtail,所以我希望它位于主包中。然而,文档没有提到这一点,官方演示似乎暗示必须从下拉选择框中选择作者,这意味着任何作者都可以冒充其他人!

我们使用引用 BlogPeopleRelationship 中 ParentalKey 的 related_name 的内嵌面板来访问 People 对象。

有我错过的功能吗?

wagtail

2
推荐指数
1
解决办法
1271
查看次数