小编dem*_*mux的帖子

仅限django prefetch_related id

我正在尝试优化我的查询,但prefetch_related坚持加入表并选择所有字段,即使我只需要关系表中的id列表.

查询

您可以忽略第4个查询.这与问题无关.

相关代码:

class Contact(models.Model):
    ...
    Groups = models.ManyToManyField(ContactGroup, related_name='contacts')
    ...

queryset = Contact.objects.all().prefetch_related('Groups')
Run Code Online (Sandbox Code Playgroud)

django django-models django-queryset

15
推荐指数
1
解决办法
4087
查看次数

如何在负载均衡器后面使用django-compressor?

我在负载均衡器后面有两台服务器.每个服务器都运行一个memcached服务器,并且设置文件(两个服务器上都相同)都定义了它们(简而言之:共享缓存).

我希望生成的文件的路径在服务器上是相同的,这样客户端就不必多次下载.

为了让我能够正常工作,我需要了解django压缩机的工作原理.

  • django压缩器中缓存的实际目的是什么?
  • 文件内容是存储在缓存还是文件系统中?
    • 如果是这样,首先会发生什么?
  • 我希望我在这里提出正确的问题.随意添加一些.

更详细和更好的构造序列将是非常有帮助的.

编辑

  • 由于服务器都共享一个memcached服务器,我应该设置COMPRESS_CACHE_KEY_FUNCTION = 'compressor.cache.socket_cachekey'(参见开发分支)还是使用相同的缓存密钥有助于我拥有相同的文件名?
  • 我理解这一点的方式是从源js/css文件中收集mtime以确定它们是否已经改变并且应该从它们生成新文件.正确?
    • 这可能不会发生在每个负载上.它什么时候发生?

python django django-compressor

11
推荐指数
2
解决办法
2392
查看次数

在Django Haystack搜索中没有结果

我已经在网上阅读了入门文档和其他一些示例.这就是我的search_indexes.py看起来像:

from haystack.indexes import *
from haystack import site
from models import Entry

class EntryIndex(SearchIndex):
    text = CharField(document=True)
    headline = CharField(model_attr='headline')
    subheadline = CharField(model_attr='subheadline')
    category = CharField(model_attr='category__name')

    author = CharField(model_attr='get_author')
    email = CharField(model_attr='get_email')

    tags = CharField(model_attr='tags')

    content = CharField(model_attr='content')

    def get_queryset(self):
        return Entry.objects.exclude(dt_published=None).order_by('-is_featured', '-dt_published', '-dt_written', 'headline')

site.register(Entry, EntryIndex)
Run Code Online (Sandbox Code Playgroud)

但是当我搜索时,我没有得到任何结果.奇怪的是,如果我使用搜索短语'a'或任何其他单个字母,我会得到看起来像该死的东西中的每一个条目.

无论如何......在我看来,搜索引擎并没有在任何领域寻找.:/

这条线以下的任何东西都不太相关(它有效,相信我):


我的看法:

from haystack.views import SearchView

class CustomSearchView(SearchView):
    def __name__(self):
        return "CustomSearchView"

    def extra_context(self):
        return common(self.request)

def search(request):
    return CustomSearchView(template='news/search_results.html')(request)
Run Code Online (Sandbox Code Playgroud)

和search_results.html:

{% extends "content.html" %}
{% load tagging_tags %}
{% …
Run Code Online (Sandbox Code Playgroud)

django search-engine whoosh django-haystack

8
推荐指数
1
解决办法
4581
查看次数

使用套接字保持Sails.js集合的客户端同步

我非常喜欢Meteor的pub/sub.我想知道是否有办法获得类似的工作流程,一般使用或只是一个套接字库.

特别是,我希望能够做的是:

// Server-side:
App.publish('myCollection', -> collection.find({}))

// Client-side:
let myCollection = App.subscribe('myCollection')
let bob = myCollection.find({name: 'Bob'})
myCollection.insert({name: 'Amelie'}, callback)
Run Code Online (Sandbox Code Playgroud)

与服务器的所有交互都应该在后台进行.

javascript node.js socket.io sails.js sails.io.js

8
推荐指数
1
解决办法
1473
查看次数

'datetime.date'对象没有属性'date'

这段代码:

import datetime
d_tomorrow = datetime.date.today() + datetime.timedelta(days=1)

class Model(models.Model):
    ...
    timeout = models.DateTimeField(null=True, blank=True, default=d_tomorrow)
    ...
Run Code Online (Sandbox Code Playgroud)

导致此错误:

'datetime.date' object has no attribute 'date'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

django datetime django-models

7
推荐指数
2
解决办法
2万
查看次数

使用Django Crispy Forms渲染单独的MultiWidget字段

我的具体情况是我需要在一行中渲染这个字段(使用Bootstrap 3):

在此输入图像描述

所以类似于:

<div class="form-group">
    <label>Amount:</label>
    <div class="row">
        <input name="amount_0" type="number" class="col-xs-8">
        <select name="amount_1" class="col-xs-4">...</select>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用:https://github.com/jakewins/django-money
小工具:https://github.com/jakewins/django-money/blob/master/djmoney/forms/widgets.py

模型:

from djmoney.models.fields import MoneyField

class MyModel(models.Model):
    ...
    amount = MoneyField(...)
    ...
Run Code Online (Sandbox Code Playgroud)

形成:

class MyForm(forms.ModelForm):
    ...
    @property
    def helper(self):
        helper = FormHelper()
        helper.form_tag = False

        helper.layout = Layout()
        helper.layout.fields = [
            ...
            'amount',
            ...
        ]

        return helper
    ...
Run Code Online (Sandbox Code Playgroud)

django django-crispy-forms twitter-bootstrap-3

7
推荐指数
1
解决办法
1455
查看次数

嵌入式媒体没有出现在TinyMCE的html编辑器中

它不会保存.

  • 我使用媒体插件从youtube插入视频.
  • 电影出现在预览中.
  • 我按插入.
  • 这是ed.execCommand('mceInsertContent', false, h);media.js中的输出:<img src="http://127.0.0.1:8000/media/admin/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif" class="mceItemFlash" title="src:'http://www.youtube.com/v/b7wJejHIFEc&feature',width:'376',height:'302'" width="376" height="302" align="" />当我按下插入/提交时.
  • 我在编辑器中看到一个黄色框.
  • 我检查源html,我看到的是<p>&nbsp;</p>移动嵌入的东西应该是什么.
  • 我保存,黄色的盒子不见了.

这是我目前的tinymce初始化脚本:

tinyMCE.init({

    // General
    mode:               'none',
    theme:              'advanced',
    skin:               'grappelli',
    dialog_type:        'window',
    browsers:           'gecko,msie,safari,opera',
    editor_deselector : 'mceNoEditor',
    language:           "en",
    relative_urls:      false,
    plugins:            'advimage,advlink,fullscreen,paste,searchreplace,grappelli,grappelli_contextmenu,media',

    // callbackss
    file_browser_callback: 'CustomFileBrowser',

    // Layout
    width:              410,
    height:             500,
    indentation:        '10px',
    object_resizing:    false,

    // Accessibility
    cleanup_on_startup:     true,
    accessibility_warnings: false,
    remove_trailing_nbsp:   true,
    fix_list_elements :     true,
    remove_script_host:     true,

    // theme_advanced
    theme_advanced_toolbar_location: "top",
    theme_advanced_toolbar_align: "left",
    theme_advanced_statusbar_location: …
Run Code Online (Sandbox Code Playgroud)

javascript django tinymce django-grappelli django-tinymce

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

django按日期订购日期时间/从datetime提取日期

我有一个带有日期时间字段的模型,我想显示今天当天查看次数最多的条目.

我想我可能尝试像dt_published__date那样从datetime字段中提取日期,但显然它不起作用.

popular = Entry.objects.filter(type='A', is_public=True).order_by('-dt_published__date', '-views', '-dt_written', 'headline')[0:5]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

sql django datetime

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

Django会话无法在Internet Explorer中工作

Sessions在我测试过的所有其他浏览器中都能很好地运行.

如果我尝试获取会话ID sessionid = request.COOKIES['sessionid'],我会收到此错误:KeyError: 'sessionid'

这就是我在settings.py中的内容:

CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
SESSION_COOKIE_DOMAIN = '.vb.is'
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
Run Code Online (Sandbox Code Playgroud)

网站是vb.is,fiskifrettir.vb.is和hestabladid.vb.is

替代文字

服务器设置为:apache2(mod_wsgi)和nginx

django cookies session internet-explorer session-cookies

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

Postgresql设置下一个要写入的id

我最近将数据库从mysql迁移到了pgsql 9.

但是现在当我尝试创建一个新对象(在django admin中)时,它告诉我我正在尝试使用的id(从一开始并且每次尝试都增加)已经被使用了.

我猜测有一个指针或索引需要设置为最后使用的id.我对么?

mysql django postgresql postgresql-9.0

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