我有一个从表中检索所有标签的函数:
function global_popular_tags() {
$this->db->select('tags.*, COUNT(tags.id) AS count');
$this->db->from('tags');
$this->db->join('tags_to_work', 'tags.id = tags_to_work.tag_id');
$this->db->group_by('tags.id');
$this->db->order_by('count', 'desc');
$query = $this->db->get()->result_array();
return $query;
}
Run Code Online (Sandbox Code Playgroud)
我有另一张名为'work'的表.'work'表有一个'draft'列,其值为1或0.我希望COUNT(tags.id)考虑具有特定标记的工作是否处于草稿模式(1).
比如,有10件作品被标记为"设计".COUNT将是10.但是这些工作中有2个处于草稿模式,因此COUNT应该是8.如何管理?
使用https://github.com/jpwatts/django-positions,
我有一些继承父母的模型,例如:
class ContentItem(models.Model):
class Meta:
ordering = ['position']
content_group = models.ForeignKey(ContentGroup)
position = PositionField(collection='content_group', parent_link='contentitem_ptr')
class Text(ContentItem):
title = models.CharField(max_length=500, unique=False, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)
我知道我需要使用parent_link参数(这里是文档).但是当我使用它时出现这个错误:
websites.Text: (models.E015) 'ordering' refers to the non-existent field 'position'.
Run Code Online (Sandbox Code Playgroud)
使用parent_link参数时,就好像该position字段已完全从模型中删除.我尝试了各种字段名称,例如contentitem_ptr_id(链接字段的实际名称),但没有运气.任何可识别的东西我在这里做错了吗?
我正在使用Haystack连接并与elasticsearch的安装进行交互.Elasticsearch安装在主Web服务器的不同框中.
我使用nginx在elasticsearch框上设置了HTTP身份验证.这是为了阻止对elasticsearch的未授权访问.
Haystack配置看起来像这样:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://USERNAME:PASSWORD@DOMAIN:PORT/',
'INDEX_NAME': 'haystack',
},
}
Run Code Online (Sandbox Code Playgroud)
有了这个设置,我得到一个连接错误:
elasticsearch.exceptions.ConnectionError: ConnectionError(('Connection aborted.',
gaierror(-2, 'Name or service not known'))) caused by: ProtocolError(('Connection
aborted.', gaierror(-2, 'Name or service not known')))
Run Code Online (Sandbox Code Playgroud)
如果我关闭HTTP身份验证并相应地更新URL http://DOMAIN:PORT/连接没有问题.
可能是Haystack(或elasticsearch-py(http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/)不允许在URL中使用HTTP身份验证吗?I请注意这是Solr - Solr身份验证的问题(使用Django Haystack)
django http-authentication django-haystack elasticsearch pyelasticsearch