我正在尝试优化我的查询,但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) 我在负载均衡器后面有两台服务器.每个服务器都运行一个memcached服务器,并且设置文件(两个服务器上都相同)都定义了它们(简而言之:共享缓存).
我希望生成的文件的路径在服务器上是相同的,这样客户端就不必多次下载.
为了让我能够正常工作,我需要了解django压缩机的工作原理.
比这更详细和更好的构造序列将是非常有帮助的.
编辑
COMPRESS_CACHE_KEY_FUNCTION = 'compressor.cache.socket_cachekey'
(参见开发分支)还是使用相同的缓存密钥有助于我拥有相同的文件名?我已经在网上阅读了入门文档和其他一些示例.这就是我的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) 我非常喜欢Meteor的pub/sub.我想知道是否有办法获得类似的工作流程,一般使用sails.js或只是一个套接字库.
特别是,我希望能够做的是:
// 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)
与服务器的所有交互都应该在后台进行.
这段代码:
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)
我究竟做错了什么?
我的具体情况是我需要在一行中渲染这个字段(使用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) 它不会保存.
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="" />
当我按下插入/提交时.<p> </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) 我有一个带有日期时间字段的模型,我想显示今天当天查看次数最多的条目.
我想我可能尝试像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)
我怎样才能做到这一点?
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
我最近将数据库从mysql迁移到了pgsql 9.
但是现在当我尝试创建一个新对象(在django admin中)时,它告诉我我正在尝试使用的id(从一开始并且每次尝试都增加)已经被使用了.
我猜测有一个指针或索引需要设置为最后使用的id.我对么?
django ×9
datetime ×2
javascript ×2
cookies ×1
mysql ×1
node.js ×1
postgresql ×1
python ×1
sails.io.js ×1
sails.js ×1
session ×1
socket.io ×1
sql ×1
tinymce ×1
whoosh ×1