我正在使用具有DateTimeField(auto_now_add = True)的类似文章来捕获发布日期(pub_date).这看起来类似于以下内容:
class Article(models.Model):
text = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
我想做一个查询,计算每天添加多少篇文章帖子或条目.换句话说,我想查询条目并按日分组(最后是月,小时,秒等).这看起来类似于SQLite shell中的以下内容:
select pub_date, count(id) from "myapp_article"
where id = 1
group by strftime("%d", pub_date)
;
Run Code Online (Sandbox Code Playgroud)
返回的内容如下:
2012-03-07 18:08:57.456761|5
2012-03-08 18:08:57.456761|9
2012-03-09 18:08:57.456761|1
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何从Django QuerySet获得该结果.我知道如何使用itertools.groupby获得类似的结果,但在这种情况下这是不可能的(下面的解释).
此查询的最终结果将用于显示每天帖子数的图表中.我正在尝试使用Django Chartit包来实现这一目标.Chartit对数据源(DataPool)施加约束.源必须是Model,Manager或QuerySet,因此就我所知,使用itertools.groupby不是一个选项.
所以问题是...... 如何在白天对条目进行分组或聚合,最终得到QuerySet对象?
出于测试和文档目的,我想创建一个gtk.Window对象的屏幕截图.我正在关注一个基本的pygtk样本.我修改的示例如下所示:
import gtk
def main():
button = gtk.Button("Hello")
scroll_win = gtk.ScrolledWindow()
scroll_win.add(button)
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.add(scroll_win)
win.show_all()
if win.is_drawable() is not True:
raise RuntimeError("Not drawable?")
width, height = win.get_size()
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8,
width, height)
screenshot = pixbuf.get_from_drawable(win, win.get_colormap(),
0, 0, 0, 0, width, height)
screenshot.save('screenshot.png', 'png')
if __name__ == '__main__':
main()
gtk.main()
Run Code Online (Sandbox Code Playgroud)
调用get_from_drawable方法时,我最终会出错.
TypeError: Gdk.Pixbuf.get_from_drawable() argument 1 must be gtk.gdk.Drawable, not gtk.Window
Run Code Online (Sandbox Code Playgroud)
显然,我合并到基本示例中的屏幕截图示例是使用从gtk.gdk.Drawable继承的gtk.gdk.Window.
我的问题:
这是我的情况:
假设我有2个蓝图before_request方法:
mod = Blueprint('posts', __name__, url_prefix='/posts')
@mod.before_request
def before_request():
#some code that uses SQLAlchemy here
pass
Run Code Online (Sandbox Code Playgroud)
现在,我不想在第二个蓝图中重复此方法中的逻辑。
我怎样才能做到这一点?
PS:我是Python的新手,所以我可能缺少明显的东西。谢谢。
我正在尝试使用Python的argparse模块构建命令行界面。我想要两个位置参数,其中一个参数依赖于另一个参数(相互包含)。这是我想要的:
prog [arg1 [arg2]]
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的内容:
prog [arg1] [arg2]
Run Code Online (Sandbox Code Playgroud)
产生于:
parser = argparse.ArgumentParser()
parser.add_argument('arg1', nargs='?')
parser.add_argument('arg2', nargs='?')
Run Code Online (Sandbox Code Playgroud)
我如何才能从那里开始拥有相互包容的arg2?