django 以每周、每月、每日的方式对查询元素进行排序

2024-04-06

我正在获取人员列表以及他们从同一项目中的 api 进行的测试。我希望用户可以选择查看某个城市中进行的测试数量,并提供三个选项 - 每日/每周/每月。

models.py

class City(models.Model):
    city_name=models.CharField(max_length=100,default='',blank=False)

class Person(models.Model):
    title = models.CharField(max_length=3,default="mr",blank=False)
    name = models.CharField(max_length=50,default='',blank=False)
    address = models.CharField(max_length=200,default='',blank=False)
    city = models.ForeignKey(City)
class Test(models.Model):
    person = models.ForeignKey(Person)
    date = models.DateTimeField(auto_now_add=True)
    test_name = models.CharField(max_length=200,default='',blank=False)
    subject = models.CharField(max_length=100,default='')

每个城市的人的json文件是这样生成的http://pastebin.com/pYLBjrjh http://pastebin.com/pYLBjrjh

related views.py

def personlist(request, id):
data = requests.get('http://127.0.0.1:8000/app/cities/' + id + '/persons/').json()
context = RequestContext(request, {
    'persons': data['results'],'count': data['count'],
})

return render_to_response('template.html', context)

这会生成该城市中参加过测试的姓名列表。我想知道是否有办法让用户选择时间段(每日/每周/每月)并仅查看在该时间段内参加过测试的姓名。


为了通过人员模型访问测试,您可以定义自己的相关名称 https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.ForeignKey.related_name例如tests或者只使用 django 提供的默认值test_set:

class Test(models.Model):
    person = models.ForeignKey(Person, related_name='tests')
    date = models.DateTimeField(auto_now_add=True)
    test_name = models.CharField(max_length=200,default='',blank=False)
    subject = models.CharField(max_length=100,default='')

related_name 定义了反向关系,因此您可以执行以下查询:

  person_1.tests.all()
  person_1.tests.filter(date=date)
  person_1.tests.filter(date__day=day) # day is an integer
  person_1.tests.filter(date__month=month) # month is an integer

但没有默认支持 week,但您仍然可以使用range特征:

import datetime
start_date = datetime.date(2015, 12, 16)
end_date = start_date + datetime.timedelta(days=7)
person_1.tests.filter(date__range=(start_date, end_date))

例子 :

in 视图.py:

def get_current_month():
    now = datetime.now()
    return now.strftime("%m")

def get_current_year():
    now = datetime.now()
    return now.strftime("%y")

def tests_by_month(request, id):
    person = Person.objects.get(id=id)
    month = request.GET.get('month', get_current_month()) # if no month take the current as default
    year = request.GET.get('month', get_current_year()) # if no year take the current as default
    test_list = person.tests.filter(date__month=int(month), date__year=int(year))
    context = {'test_list': test_list}
    return render_to_response(request, 'template.html', context)

in 网址.py:

url(r'^app/persons/(?P<id>\d+)/tests/', tests_by_month),

并且您使用以下网址

app/persons/(?P<id>\d+)/tests/?month=12&year=2014

如果您发送时没有月份:app/persons/(?P<id>\d+)/tests/您将获得当月和当年的测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 以每周、每月、每日的方式对查询元素进行排序 的相关文章

  • 如何使用 Python 3 绕过 HTTP Error 403: Forbidden with urllib.request

    您好 不是每次都这样 但有时在尝试访问 LSE 代码时 我会收到每一个烦人的 HTTP 错误 403 禁止消息 任何人都知道我如何仅使用标准 python 模块来克服这个问题 遗憾的是没有漂亮的汤 import urllib request
  • 多处理中的动态池大小?

    有没有办法动态调整multiprocessing Pool尺寸 我正在编写一个简单的服务器进程 它会产生工作人员来处理新任务 使用multiprocessing Process对于这种情况可能更适合 因为工作人员的数量不应该是固定的 但我需
  • 在Python中从大文件中搜索单词列表

    我是新蟒蛇 我有一个单词列表和一个非常大的文件 我想删除文件中包含单词列表中的单词的行 单词列表按排序给出 并且可以在初始化期间输入 我正在努力寻找解决这个问题的最佳方法 我现在正在进行线性搜索 这花费了太多时间 有什么建议么 您可以使用i
  • Matplotlib:如何有效地将大量线段着色为独立渐变

    Python 绘图库 如何有效地将大量线段着色为独立渐变 已经 阅读this https stackoverflow com questions 8500700 how to plot a gradient color line in ma
  • 创建上下文后将 jar 文件添加到 pyspark

    我正在笔记本上使用 pyspark 并且不处理 SparkSession 的创建 我需要加载一个包含一些我想在处理 rdd 时使用的函数的 jar 您可以使用 jars 轻松完成此操作 但在我的特定情况下我无法做到这一点 有没有办法访问sp
  • 在 python pandas 中,如何保存“网格图”?

    我对 pandas 绘图工具很陌生 在文档中 以下命令非常方便 myplot rts ret hist bins 50 by rts primary mic 然而 当我尝试从图中获取图形参考并保存它时 问题就出现了 myfigure myp
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • 类型错误:需要二进制或 unicode 字符串,得到 618.0

    I ve been trying to implement this ML Linear Model into my dataset https www tensorflow org tutorials estimator linear L
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • IIS 上的 Django:调试由于大文件上传上的 FastCGI 请求超时而导致的 IIS 错误

    我正在尝试在带有 IIS 10 和 FastCGI 的 Windows 10 计算机上托管 Django Web 应用程序 虽然到目前为止一切都运行良好 但我在上传较大文件 120MB 时遇到了某些 POST 请求的问题 即 HTTP 50
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • 如何指示 urwid 列表框的项目数多于当前显示的项目数?

    有没有办法向用户显示 urwid 列表框在显示部分上方 下方有其他项目 我正在考虑类似滚动条的东西 它可以显示条目的数量 或者列表框顶部 底部的单独栏 如果这个行为无法实现 有哪些方法可以实现这个通知 在我的研究过程中 我发现这个问题 ht
  • 检测是否从psycopg2游标获取?

    假设我执行以下命令 insert into hello username values me 我跑起来就像 cursor fetchall 我收到以下错误 psycopg2 ProgrammingError no results to fe
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa
  • 如何从namedtuple实例列表创建pandas DataFrame(带有索引或多索引)?

    简单的例子 from collections import namedtuple import pandas Price namedtuple Price ticker date price a Price GE 2010 01 01 30
  • 如何使用 python 定位和读取 Data Matrix 代码

    我正在尝试读取微管底部的数据矩阵条形码 我试过libdmtx http libdmtx sourceforge net 它有 python 绑定 当矩阵的点是方形时工作得相当好 但当矩阵的点是圆形时工作得更糟 如下所示 另一个复杂问题是在某

随机推荐

  • 如何使用助记词创建Web3py帐户

    我正在使用 web3 制作自己的桌面 BSC 钱包 目前我正在使用 private key private key account w3 eth account privateKeyToAccount private key 但我想使用助记
  • 如何在 googlemaps url 中设置航点

    我有一个带有地图的网站 我有一个文本字段 在其中输入我想要前往已设置的特定目的地的城市名称 为了到达这个目的地 我在代码中硬编码了路径点 所有这些都很好用 我现在有一个按钮 单击该按钮会给我指示 文本格式 当我单击另一个按钮时 我会得到一个
  • 如何向 NSTableView 添加页脚视图?

    看起来NSTableView没有相当于UITableView s tableFooterView财产 在 Cocoa 中将页脚视图添加到表格视图的首选方法是什么 NSTableView 没有像 UITableView 或 NSCollect
  • laravel 5.7 中类不存在反射异常错误

    我的 api php Route get getProducts ProductController getProducts 产品控制器 php
  • ASP.NET Ajax 工具包滑块手柄显示损坏的图像

    使用已经运行多年的 ASP NET 4 5 Web Forms 项目 出现了一个新问题 ASP NET Ajax Control Toolkit Slider 停止渲染图像 它是一个损坏的图像符号 通常在 句柄 处渲染 这只发生在 IE11
  • “一股烟雾”效果 javascript 精灵动画

    此代码和动画在 jQuery 1 4 4 及更低版本上完美运行 但不适用于更高版本 任何人都可以阐明这个问题并帮助开发一个适用于最新 jQuery 的版本 我在下面提供了一个小提琴 http jsfiddle net Y7Ek4 10 ht
  • grep 在 R 中固定 =T 的字符串开头?

    如何 grep 与fixed T 但仅在字符串的开头 grep a c a b cac sss ca f fixed T 1 4 我只想得到第一次出现的结果 编辑 要匹配的字符串事先未知 可以是任何内容 A 只是为了举例 Thanks 编辑
  • Android Java rxjava 线程抓取网页

    我必须抓取一个网页 我必须获取所有具有data component type等于s search result并将它们放入PC类型的ArrayList中 它具有一些属性 但我不知道如何使用 Retrofit 进行解析 有人可以帮我吗 RxJ
  • 柯里化和部分应用有什么区别?

    我经常在互联网上看到各种抱怨 认为其他人的柯里化示例不是柯里化 而实际上只是部分应用 我还没有找到关于什么是部分应用或者它与柯里化有何不同的合理解释 似乎存在普遍的混乱 等效的示例在某些地方被描述为柯里化 而在其他地方则被描述为部分应用 有
  • 雄辩的push()和save()区别

    我读过关于 eloquent 的 laravel 4 文档 并且对 Push 部分很感兴趣 它说 有时您可能不仅希望保存模型 还希望保存其所有关系 为此 您可以使用推送方法 保存模型和关系 user gt push 请参阅此处的链接 htt
  • Maven - 在当前项目中找不到前缀“wildfly”的插件

    我正在使用 Wildfly 8 我需要使用 JSR 352 中的 java 批处理处理器 我从以下位置下载了示例https github com javaee samples javaee7 samples https github com
  • 通过 BASH 将空格替换为下划线

    假设我有一个字符串 str 我希望编辑 str 使其中的所有空格都替换为下划线 Example a hello world 我想要的最终输出 echo a to be 你好世界 您可以尝试以下操作 str str
  • 如何在 VScode 中使用带有 R 内核的 Jupyter Notebook?

    现在我可以在 Web 浏览器中使用带有 R kernal 的 jupyter lab 并使用 VS Code 使用 python kernal 编辑 jupyter Notebook 代码 是否可以使用 Jupyter Notebook 模
  • Django 管理加载没有 CSS

    我创建了一个新的 Django 应用程序 我注意到它的管理页面加载时没有 CSS 我设置了STATIC URL和STATIC ROOT在settings py中根据this https stackoverflow com questions
  • SQL Server中模拟Oracle的CONNECT BY PRIOR

    如何在SQL Server 2000 2005 2008中获得Oracle的CONNECT BY PRIOR功能 实现递归查询的 SQL 标准方法 例如实现的通过 IBM DB2 和SQL服务器 http msdn microsoft co
  • 处理 Scalaz6 验证列表

    在 Scalaz6 中是否有一种惯用的方法来处理验证集合 val results Seq Validation A B val exceptions results collect case Failure exception gt exc
  • 更改 ggplot2 中堆叠填充列的顺序

    我想更改堆积条形图的顺序 例如 在mpg我想订购c 4 r f 是改变因素水平的唯一方法吗 library ggplot2 library dplyr s lt ggplot mpg aes fl fill drv geom bar pos
  • PDFsharp 换行符

    我正在尝试换新线路 但如果我使用 n这是行不通的 任何通过向字符串添加一些内容来获得新行的方法 r n 这也不起作用 gfx DrawString Project No n textBoxProjNumber Text fontUnder
  • 为什么 haskell 模式会踩到 s-lower-camel-case 以及它是如何做到的?

    我准备了一个最小的工作示例来检查其他依赖项是否没有干扰这一点 测试函数为 defun test haskell problems interactive insert s lower camel case other string 问题的完
  • django 以每周、每月、每日的方式对查询元素进行排序

    我正在获取人员列表以及他们从同一项目中的 api 进行的测试 我希望用户可以选择查看某个城市中进行的测试数量 并提供三个选项 每日 每周 每月 models py class City models Model city name mode