我想先按天对模型进行排序,然后再对分数进行排序,这意味着我希望看到每天得分最高的文章。
class Article(models.Model):
date_modified = models.DateTimeField(blank=True, null=True)
score = models.DecimalField(max_digits=5, decimal_places=3, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
这个答案Django Datetime字段查询-按时间/小时排序建议我'__day'与date_modifiedas一起使用:
Article.objects.filter().order_by('-date_modified__day', '-score')
FieldError: Cannot resolve keyword 'day' into field. Join on 'date_modified' not permitted.
Run Code Online (Sandbox Code Playgroud)
但是我得到的错误与帖子中的错误相同,所以我什至不确定它是否可以这种方式工作。
我在datetime中找到了按日期排序的其他答案django /使用.extra以下方法从datetime中提取日期:
Article.objects.filter().extra(select={"day_mod": "strftime('%d', date_modified)"}, order_by=['-day_mod', '-score'])
Run Code Online (Sandbox Code Playgroud)
这适用于没有其他条件的过滤,但是如果我将条件应用于过滤器(例如类别):
Article.objects.filter(category = 'Art').extra(select={'day_mod': "strftime('%d', date_modified)"}, order_by=['-day_mod', '-score'])
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
File "/home/mykolas/anaconda2/lib/python2.7/site-packages/IPython/core/formatters.py", line 699, in __call__
printer.pretty(obj)
File "/home/mykolas/anaconda2/lib/python2.7/site-packages/IPython/lib/pretty.py", line 383, in pretty
return _default_pprint(obj, self, cycle)
File …Run Code Online (Sandbox Code Playgroud) 我在这里找到了一个类似的例子,不是没有具体的答案:有光泽:将reactiveValues传递给conditionalPanel,
但它让我知道我需要session$sendCustomMessage在server.R中设置变量然后用Shiny.addCustomMessageHandlerui.R解压缩.但是,我无法弄清楚如何在条件面板中使用该变量.
这是我设计的例子(我知道我可以很容易地对input.select1进行调整,以使其正常工作):
https://gist.github.com/anonymous/6013ffb888ef22b5aa110ddcafc5659a
谢谢
我想将一个函数应用于data.table的列,但是我想考虑该函数将应用于哪个组,即我想将该组值作为参数传递给该函数。但是,应用我的功能时,我无法获得组的名称。
如何获得团体价值?还是我应该使用其他方法?
例:
library(data.table)
set.seed(369)
dta <- data.table(gr = 1:5,
a = rnorm(5),
b = rnorm(5),
c = rnorm(5),
d = rnorm(5))
add <- function(x, y, group){
if(group == 1){
x + y
} else{
x - y
}
}
dta[, newcol := add(c, d), by = (gr)]
Run Code Online (Sandbox Code Playgroud)
我不知道如何将当前组的值传递给函数