我想只返回没有相关图像的项目.我的关系是这样的:
class Post(models.Model):
....fields
class Photo(models.Model):
post=models.ForeignKey(Post,blank=True,null=True)
photo=models.FileField(upload_to="pics")
def __unicode__(self):
return str(self.post)
Run Code Online (Sandbox Code Playgroud)
我把以下查询放在一起以返回Photo不为null的Post实例:
posts=Post.objects.filter(photo__photo__isnull=False)
Run Code Online (Sandbox Code Playgroud)
问题是,它根据与Post实例相关的Photo实例的数量返回每个Post实例的多个副本.换句话说,一个帖子有5张照片,因此在查询集中返回五个副本.我查看了文档,这有点棘手.我最终使用distinct(),但我认为我可以立即使用它.
谢谢
我有一个生产服务器,其MYSQL可能无法备份.有问题的实例有一个EBS支持的根设备(/ dev/sda1),它持久存储文件.我不清楚它是否自然地存储我的MYSQL数据和二进制日志文件.
它是否应该安装在root用户?我想是的.
我应该改为附加并安装另一个卷,然后将MYSQL服务器指向新位置吗?
我的命令如下所示(加上在创建快照时锁定MYSQL表)
sudo mkdir /vol/etc /vol/lib /vol/log
sudo mv /etc/mysql /vol/etc/
sudo mv /var/lib/mysql /vol/lib/
sudo mv /var/log/mysql /vol/log/
sudo mkdir /etc/mysql
sudo mkdir /var/lib/mysql
sudo mkdir /var/log/mysql
echo "/vol/etc/mysql /etc/mysql none bind" | sudo tee -a /etc/fstab
sudo mount /etc/mysql
echo "/vol/lib/mysql /var/lib/mysql none bind" | sudo tee -a /etc/fstab
sudo mount /var/lib/mysql
echo "/vol/log/mysql /var/log/mysql none bind" | sudo tee -a /etc/fstab
sudo mount /var/log/mysql
Run Code Online (Sandbox Code Playgroud)
我不是系统管理员专家,我不想搞砸我现有的数据库.这里有风险吗?我是否应该在这里使用其他设备或者只是坚持使用内置根设备?
看一下dir(request.GET),我注意到pop被列为一种方法.我也相信我过去已经从请求中删除了属性.
那是准确的吗?如果是这样,为什么会失败?
request.GET.pop('key')
Run Code Online (Sandbox Code Playgroud) 我在前端工程方面相当缺乏经验,所以如果天真或过于宽泛,我会道歉.
我的应用程序通过AJAX获取4k JSON对象.为了防止重复的HTTP请求,返回的JSON缓存在全局窗口范围内的对象中.有关这类事情的最佳做法吗?
我意识到对缓存大小的合理限制将取决于浏览器,操作系统,硬件和其他因素.我正在寻找降级的UI响应能力.
但是,有没有好的经验法则?
我在与Django应用程序相同的服务器上提供静态媒体内容.我是通过一个apache2配置文件来实现的,该文件是Alias-es我的媒体目录.
它的工作原理是服务器通过WSGI将媒体目录作为静态内容和Django应用程序.
问题是,当用户访问我的媒体网址(www.mysite/media /)时,他们可以查看我的所有静态内容目录.我不希望这样.
我该怎么办?
谢谢,布兰登
简单的功能,我想根据更改顶级复选框切换检查/取消选中复选框.
问题是Toggle/Click事件处理程序存在固有问题.如果您尝试将这些处理程序绑定到输入复选框,则框的默认检查行为将失败.
所以,我尝试以两种不同的方式之一使用Change处理程序.
$('input.all_neighborhoods').change(function(){
if($(this).not(':checked')){
$(this).closest('li').siblings('li').find('input[name=neighborhood_id]').attr('checked','checked');
}
else{
$(this).closest('li').siblings('li').find('input[name=neighborhood_id]').removeAttr('checked');
}
});
Run Code Online (Sandbox Code Playgroud)
在这里,第一个变化按照您的预期运作.选中并选中所有同级复选框.但是,当我再次单击取消选中时,没有任何反应.事件处理程序不起作用.
然后我尝试了这个:
$('input.all_neighborhoods').change(function(){
$(this).attr( 'checked', $(this).is( ':checked' ) ? $(this).closest('li').siblings('li').find('input[name=neighborhood_id]').attr('checked','checked'): $(this).removeAttr('checked').closest('li').siblings('li').find('input[name=neighborhood_id]').removeAttr('checked') );
});
Run Code Online (Sandbox Code Playgroud)
在这里,兄弟复选框有效地切换.但是,主开/关开关复选框保持选中状态.
这里的问题是否与他们都是兄弟姐妹并且主要复选框不是父母这一事实有关?
我有以下Django模型:
created=models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
我现在需要一个模型对象方法,它显示自创建以来的小时数.我尝试了以下方法:
def hours_live(self):
diff=((datetime.datetime.now - self.created).seconds)/3600
return diff
Run Code Online (Sandbox Code Playgroud)
但它抛出了一个TypeError
unsupported operand type(s) for -: 'builtin_function_or_method' and 'datetime.datetime'
Run Code Online (Sandbox Code Playgroud)
然后我去了
def hours_live(self):
diff=((datetime.datetime.now() - self.created).seconds)/3600
return diff
Run Code Online (Sandbox Code Playgroud)
我的问题是datetime.datetime.now()表达式是在这里只执行一次,还是每次调用hours_live时都执行.
这会有用吗?
我通常不需要在我的Django应用程序级编程(即视图)中显式使用线程.但我注意到一个看起来很有趣的库,通过线程处理服务器端分析.
在Django视图中,您将使用他们的Python客户端在单独的(非守护程序)线程中将HTTP POST批量处理到其Web服务.通常情况下,我会选择RabbitMQ而不是线程,但他们希望降低库的启动成本.
我的问题是,这种方法有什么缺点吗?线程有一些额外的内存占用,但我并不太担心.它显然取决于启动的请求/线程数.
事实上线程不是守护进程并且可能长期存在问题吗?我假设Gunicorn进程是执行的主线程,并且它在无限循环中运行,因此通常无论是否必须等待非守护进程线程退出.那是对的吗?
这是一个悬而未决的问题,但重点是理解Django/Gunicorn应用程序中非守护程序线程的影响.
我按照文档将Facebook提要对话框添加到我的网站.我的一个问题是对话框没有作为弹出窗口打开,即使我将display参数设置为"popup".
<a class="facebook_icon" href="http://www.facebook.com/dialog/feed?app_id=264179898666332&display=popup&redirect_uri=http://mysite.com/&message=I use Mysite!"></a>
Run Code Online (Sandbox Code Playgroud)
我意识到,要将其显示为iframe,我需要获得用户获取访问密钥的权限.我只想暂时将对话框显示为一个单独的窗口.
任何线索为什么这不起作用?普遍认为我现在应该只是为了UX而使用iframe吗?
当我调用以下函数时,我得到一个struct_time obj.有没有办法将其转换为日期obj?
import time
date = time.strptime("March 2 2012", '%B %d %Y')
Run Code Online (Sandbox Code Playgroud)
谢谢