小编use*_*108的帖子

Django:按位置排序忽略NULL

我有django queryset排序的问题.

我的模型包含一个名为position(PositiveSmallIntegerField)的字段,我想用它来订购查询结果.

我使用order_by('position'),效果很好.

问题:我的position字段是可空的(null=True, blank=True),因为我不想为我的模型的每50000个实例指定一个位置:(

当某些实例具有NULL"位置"时,order_by将它们返回到列表顶部:我希望它们在最后...

在RAW SQL中,我曾经写过像" IF(position IS NULL or position='', 1, 0)" 这样的东西(参见http://www.shawnolson.net/a/730/mysql-sort-order-with-null.html):是否有可能使用相同的结果Django,没有编写原始SQL?

非常感谢 !

django nullable sql-order-by

39
推荐指数
4
解决办法
8633
查看次数

无法使用Django Haystack重新构建弹性搜索:'连接被拒绝'

我正面临一个奇怪的问题,使用Django HaystackElasticSearch,阻止我索引内容.

ElasticSearch在机器上正常运行:

# curl -X GET 127.0.0.1:9200
{
  "status" : 200,
  "name" : "White Pilgrim",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.7.4",
    "build_hash" : "0d3159b9fc8bc8e367c5c40c09c2a57c0032b32e",
    "build_timestamp" : "2015-12-15T11:25:18Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用Haystack构建索引时:

# python manage.py rebuild_index
Run Code Online (Sandbox Code Playgroud)

我收到一个ProtocolError(('Connection aborted.', error(111, 'Connection refused')))错误:

ERROR:root:Error updating auth using default
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/haystack/management/commands/update_index.py", line 188, in handle_label
    self.update_backend(label, using)
  File …
Run Code Online (Sandbox Code Playgroud)

python django django-haystack elasticsearch raspbian

6
推荐指数
1
解决办法
883
查看次数

在 Go Fyne 中绑定表数据

法恩初学者在这里。

\n

我正在尝试解决一个简单的用例,但没有在文档中找到任何解决方案:在 Fyne 中,如何拥有一个 Table 小部件,并将其数据绑定到数据源?

\n

换句话说,我们binding.BindStringList 在文档中有,它允许绑定字符串列表\xe2\x80\xa6

\n
data := binding.BindStringList(\n    &[]string{"Item 1", "Item 2", "Item 3"},\n)\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x80\xa6我正在寻找类似的东西,它允许绑定结构列表而不是字符串。例如,待办事项表:

\n
type Todo struct {\n  UserID    int    `json:"userId,omitempty"`\n  ID        int    `json:"id,omitempty"`\n  Title     string `json:"title,omitempty"`\n  Completed bool   `json:"completed,omitempty"`\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如果不可能,对您来说最好的解决方法是什么?

\n
\n

好吧,按照安迪的建议,我尝试了这个:

\n
var data []Todo\n\nstringData := `[{"userId":1,"id":1,"title":"delectus aut autem"},{"userId":1,"id":2,"title":"quis ut nam facilis et officia qui"}]`\njson.Unmarshal([]byte(stringData), &data)\n\nvar bindings []binding.DataMap\n\nfor _, todo := range data {\n  bindings = append(bindings, binding.BindStruct(&todo))\n}\n\nlist := widget.NewTable(\n  func() (int, …
Run Code Online (Sandbox Code Playgroud)

user-interface go fyne

6
推荐指数
1
解决办法
2256
查看次数

Django和架构:如何在项目之间共享"参考"数据库?

我今天来了一个关于Django的设计/架构问题.

我在几个网站上工作(托管在同一台服务器上),这些网站个别需要地理数据(州,城镇等).每个项目都包含应用程序,每个应用程序可能包含带有ForeignKey城镇或州的字段的模型.

为了不重复自己,我不打算建立一个数据库来存储这些城镇和州,并通过Django项目使用它.

Django提供了一种直接的方式,可以在同一个项目中使用多个数据库,在settings.py文件中声明它并编写路由器类来保存读写内容.但就这样,不可能使用如下select_related声明:

job = get_object_or_404(Jobs.objects.select_related('state__town'), user=user)
Run Code Online (Sandbox Code Playgroud)

这种行为对我来说很自然(不可能从头开始在数据库之间进行连接)......

我的问题:

  • 考虑引入dblinks是一个好主意(我不这么认为......)并且Django可以处理它(我没有找到这部分的任何文档)?
  • 面对这种情况,你会如何进行?

一个快速而肮脏的解决方案是在每个项目数据库中导入所有地理数据(城镇,州......),但它根本不是DRY :(:

python manage.py loaddata geo.json
Run Code Online (Sandbox Code Playgroud)

另一种解决方案可能是建立一个独立的"地理"应用程序,它可以"服务"(我不知道如何)将数据传输到其他项目......实际上,我尝试过GeoDjango,但它看起来真的很复杂,而且它可能不会回答我的问题!

非常感谢您的答案!

django database-design geodjango

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

如何告诉Django staticfiles不收集用户上传的媒体目录文件?

我有一个非常简单的问题,我无法找到答案.使用Django staticfiles应用程序,我通过键入以下命令行来调用静态收集例程:python manage.py collectstatic.

我的问题是我有几个服务静态的应用程序+一个包含用户上传文件的媒体目录.Django将所有文件复制到静态目录,包括媒体文件!

我只是希望Django 在我调用时不将用户上传的文件复制到静态目录python manage.py collectstatic.有没有人有想法?试过--ignore但没有成功......

先感谢您.

django django-staticfiles

5
推荐指数
2
解决办法
2051
查看次数

如何使用 golang bleve 搜索结果?

我是 Go and Bleve 的新手(对不起,如果我问的是琐碎的事情......)。这个搜索引擎似乎非常好,但是在处理搜索结果时我陷入了困境。

假设我们有一个结构:

type Person struct {
    Name string `json:"name"`
    Bio  string `json:"bio"`
}
Run Code Online (Sandbox Code Playgroud)

现在,我们从数据库中提取数据(使用 sqlx lib):

rows := []Person{}
db.Select(&rows, "SELECT * FROM person")
Run Code Online (Sandbox Code Playgroud)

...并将其编入索引:

index.Index, err = bleve.Open("index.bleve")

batch := index.Index.NewBatch()

i := 0
for _, row := range rows {
    rowId := fmt.Sprintf("%T_%d", row, row.ID)
    batch.Index(rowId, row)

    i++
    if i > 100 {
        index.Index.Batch(batch)
        i = 0
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我们已经创建了索引。它工作得很好。

使用bleve 命令行实用程序,它可以正确返回数据:

bleve query index.bleve doe

3 matches, showing 1 through …
Run Code Online (Sandbox Code Playgroud)

full-text-search go bleve

4
推荐指数
1
解决办法
1800
查看次数