小编don*_*yor的帖子

如何获取django查询的最后n个对象?

我正在尝试在django中显示聊天记录.我可以使用此查询以正确的顺序获取整个聊天记录.

latest_chats_list = Chat.objects.order_by('timestamp')
Run Code Online (Sandbox Code Playgroud)

我想要这行的功能(按顺序排列最后10个元素),但django不允许负索引.

latest_chats_list = Chat.objects.order_by('timestamp')[-10:]
Run Code Online (Sandbox Code Playgroud)

如果我尝试这一行,我会收到我想要的消息,但它们的顺序错误.

latest_chats_list = Chat.objects.order_by('-timestamp')[:10]
Run Code Online (Sandbox Code Playgroud)

这一行给出了前10个聊天而不是最近的聊天.

latest_chats_list = Chat.objects.order_by('-timestamp')[:10].reverse()
Run Code Online (Sandbox Code Playgroud)

django python-3.x

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

检查另一个数组中是否包含一个数组

我有

['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

我想知道这个数组是否包含在这个数组中:

['a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)

我知道我可以做2个循环并检查每个项目的项目,但是它有一个oneliner吗?

javascript arrays jquery

4
推荐指数
2
解决办法
4242
查看次数

设置celery周期性任务

如何使用 Celerybeat 和 Flask 设置每小时查询一次数据库的定期任务?

环境是这样的:

/
|-app
  |-__init__.py
  |-jobs
    |-task.py
|-celery-beat.sh
|-celery-worker.sh
|-manage.py
Run Code Online (Sandbox Code Playgroud)

我目前有一个名为的查询函数run_query()位于task.py

我希望调度程序在应用程序启动后立即启动,因此我的/app/__init__.py文件夹中有以下几行:

/
|-app
  |-__init__.py
  |-jobs
    |-task.py
|-celery-beat.sh
|-celery-worker.sh
|-manage.py
Run Code Online (Sandbox Code Playgroud)

(为了简单起见,我将其设置为如果它运行,它将每分钟运行一次。还没有这样的运气。)

当我启动它时,celery-worker.sh它会识别标题下的我的功能[tasks]。但预定的功能永远不会运行。我可以通过在命令提示符下发出以下命令来手动强制该函数运行:

>> from app.jobs import task
>> task.run_query.delay()
Run Code Online (Sandbox Code Playgroud)

编辑:添加 celerybeat.sh

作为后续:如果通过烧瓶上下文访问数据库,在我的异步函数调用期间创建一个新的烧瓶上下文来访问数据库是否明智?使用现有的 Flask 上下文?或者完全忘记上下文并只是启动与数据库的连接?我担心的是,如果我只是启动一个新连接,它可能会干扰现有上下文的连接?

python celery flask

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

内部有两个对象的Java List:List <Object o,Object p>

是否可以执行以下操作?

List<Object o, Object p> listWithTwoObjects;
Run Code Online (Sandbox Code Playgroud)

我想从数据库中检索数据并将其保存到此列表中,具体就是以这种方式

Query query = "retrieve all posts and username, which this user posted";
List<Object o, Object p> userAndPost = query.getResultList();
Run Code Online (Sandbox Code Playgroud)

o是用户名,p是帖子.然后,我可以将其呈现给我的模板,并向其用户显示每个帖子.

我的问题是关于里面有两个对象的List.是否有可能,如果是的话,文件的方式和位置是什么?

java list playframework-2.0

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

使用Sympy在Python中集成

我目前正在Sympy帮助我进行数学计算.现在,我正在尝试执行数值集成,但是在我运行脚本的任何时候都会出现错误.这是脚本:

from sympy import *
cst = { 'qe':1.60217646*10**-19, 'm0':N(1.25663706*10**-6) }

d = 3.6*10**-2
l = 20.3*10**-2
n = 217.0
I = 10.2

# Circum of loops
circ = l/n;
# Radius
r = N( circ/(2*pi) )
# Flux through a ring a distance R from the ceter
def flux(rad, I, loopRad):
    distFromWire = loopRad - rad
    bPoint = cst['m0']*I/(2*pi*distFromWire)
    return ( bPoint*2*pi*rad )

# Integrate from r=0 to r=wireRad
x = Symbol('x')
ig = Symbol('ig')
ig = …
Run Code Online (Sandbox Code Playgroud)

python sympy

3
推荐指数
1
解决办法
1888
查看次数

document.ready vs document.onLoad

我想知道哪一个是正确的运行js代码,根据窗口高度计算垂直菜单的高度,并按时,不迟到,不早.

我正在使用,document.ready但它并没有真正帮助我解决这个问题,它有时不设置,我必须重新加载页面,然后它正在工作,但不是第一次加载.

如何解决这个问题呢?

这是我的代码:

$(document).ready(function(){
     var winh = document.body.clientHeight;
     var footer = document.getElementById('footer').offsetHeight;
     document.getElementById('sidebar').style.height = winh - 5/2*footer + 'px';
     document.getElementById('sidebar').style.marginBottom = footer + 'px';

     $(window).resize(function(){
         var winh = document.body.clientHeight;
         var footer = document.getElementById('footer').offsetHeight;
         document.getElementById('sidebar').style.height = winh - 5/2*footer + 'px';
         document.getElementById('sidebar').style.marginBottom = footer + 'px';
     });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery onload document-ready

3
推荐指数
1
解决办法
1万
查看次数

django相关经理 - 在模板中

我想显示一个位置的最新评分.我有2张桌子(django型号)

Class Location(models.Model):
   locationname = models.CharField()
   ...

Class Rating(models.Model):
   von_location = models.ForeignKey(Location,related_name="locations_rate")
   rating = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

现在在我的数据库中,一个位置(id = 1)有3个等级(1,2,4).

我想显示一个位置的最新评级记录.我能以某种方式使用相关管理器在模板中执行此操作吗

我的愿景是:

all_locs = Location.objects.all()
Run Code Online (Sandbox Code Playgroud)

然后在模板中:

{% for location in all_locs %}
   {{ location.locations_rate.latest }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

相关经理可以做这种事吗?

python database django django-related-manager

3
推荐指数
1
解决办法
2251
查看次数

django-如何使用kwargs做到这一点

我想知道在执行查询时何时触摸db。更准确地说,何时执行查询:

我有这个kwargs dic:

kwargs = {'name__startswith':'somename','color__iexact':'somecolor'}
Run Code Online (Sandbox Code Playgroud)

但仅用于name__startswith查询,我需要distinct()。而不是color__iexact

我想,我会为设定name__startswithdistinct()在这样的循环:

for q in kwargs: 
  if q == 'name__startswith':
    Thing.objects.filter(name__startswith=somename).distinct('id')
Run Code Online (Sandbox Code Playgroud)

然后动态查询所有内容:

allthings = Thing.objects.filter(**kwargs)
Run Code Online (Sandbox Code Playgroud)

但这是不对的,我似乎在这里做两件事。

我如何动态地执行这两个查询?

python django kwargs

3
推荐指数
1
解决办法
3552
查看次数

textarea值是否为空 - 检查jquery不工作,为什么

我有这个代码,comment是id textarea:

<textarea id="comment">      </textarea>
Run Code Online (Sandbox Code Playgroud)

JS

var comment = $('#comment').val();
if(comment.length === 0){
    alert('empty');
    return;
}else{
    alert('not empty');
}
Run Code Online (Sandbox Code Playgroud)

即使它是空的,它也不会空洞.为什么是这样?我无法检查,!=""因为空格将通过检查,然后我将检查所有空格

请帮忙

html javascript jquery

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

django - 在滚动上加载更多 - 我有分页,我如何加载更多?

我想编写一个代码,当我到达页面底部时,该代码从db中获取更多数据.

我有这个views.py:

locations = Location.objects.filter(**s_kwargs).distinct('id')
paginator = Paginator(locations, 10)
if  request.GET.get('page'):
   locs = paginator.page(request.GET.get('page'))
else:
   locs = paginator.page(1)
data['locs'] = locs
return render_to_response("result.html",data,context_instance=RequestContext(request)) 
Run Code Online (Sandbox Code Playgroud)

这是我检测页面底部的js:

 $(window).scroll(function () {
  if ($(document).height() <= $(window).scrollTop() + $(window).height()) {
    alert("start loading more data");//<--- load more data from db. 
  }
 });
Run Code Online (Sandbox Code Playgroud)

我不知道如何做到这一点,我的思绪陷入困境,分页师让我感到困惑.我如何从db获取下一个数据?如何将新的数据附加到html中的现有数据?我需要你的指导

python django jquery pagination

3
推荐指数
1
解决办法
1289
查看次数