小编Tim*_*ham的帖子

Django - 过滤相关对象

对于我的Django应用程序,我有事件,评级和用户.评级通过外键与事件和用户相关.当显示事件列表时,我想通过user_id过滤事件的评级,因此我知道用户是否对事件进行了评级.

如果我做:

event_list = Event.objects.filter(rating__user=request.user.id)
Run Code Online (Sandbox Code Playgroud)

(request.user.id给出当前登录用户的user_id)...然后我只获取用户评分的事件而不是整个事件列表.

我需要的东西可以通过自定义SQL生成:

SELECT *
FROM `events_event`
LEFT OUTER JOIN (
  SELECT *
  FROM `events_rating`
  WHERE user_id = ##
  ) AS temp 
ON events_event.id = temp.user_id
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法,所以我不必使用自定义SQL?

django filter

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

JQuery Tablesorter的自定义分析器

我正在使用jQuery Tablesorter,并且解决了对表列应用解析器的问题.我正在添加一个自定义解析器来处理$ -3.33形式的货币.

$.tablesorter.addParser({
    id: "fancyCurrency",
    is: function(s) {
      return /^\$[\-]?[0-9,\.]*$/.test(s);
    },
    format: function(s) {
      s = s.replace(/[$,]/g,'');
      return $.tablesorter.formatFloat( s );
    },
    type: "numeric"
});
Run Code Online (Sandbox Code Playgroud)

问题似乎是内置货币解析器优先于我的自定义解析器.我可以将解析器放在tablesorter代码本身(在货币解析器之前)并且它正常工作,但这不是很容易维护.我无法使用以下方式手动指定分拣机:

headers: {
    3: { sorter: "fancyNumber" },
    11: { sorter: "fancyCurrency" }
}
Run Code Online (Sandbox Code Playgroud)

因为表列是从用户输入动态生成的.我想一个选项是指定分类器用作css类,并使用一些JQuery明确指定一个像这个问题建议的分类器,但我更愿意坚持动态检测,如果可能的话.

jquery tablesorter

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

如何确定在 python 程序执行期间是否记录了任何错误?

我有一个 python 脚本,它在几个地方调用 log.error() 和 log.exception()。捕获这些异常以便脚本可以继续运行,但是,我希望能够确定是否曾经调用过 log.error() 和/或 log.exception(),以便我可以退出带有错误代码的脚本通过调用 sys.exit(1)。下面包括使用“错误”变量的简单实现。在我看来,必须有更好的方法。

error = False

try:
  ...
except:
   log.exception("Something bad occurred.")
   error = True

if error:
   sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

python logging

5
推荐指数
2
解决办法
2637
查看次数

标签 统计

django ×1

filter ×1

jquery ×1

logging ×1

python ×1

tablesorter ×1