【问题标题】:Get months from datefield in django从 django 中的日期字段获取月份
【发布时间】:2013-08-26 20:38:02
【问题描述】:

如果我在 django 模型中有一个 Datefield,如何从模型对象中获取所有可能的月份值? 所以如果我有日期为 22.01.2013 的 object1 和 date = 23.05.2013 的 object2,我需要获取月份列表 [01, 05] 或 [1, 5]

【问题讨论】:

    标签: django datefield


    【解决方案1】:

    嘿,我认为日期函数是您正在寻找的:

    试试:

    month_list = Model.objects.dates('DateField', 'month')
    

    【讨论】:

    • 它应该是Model.objects.dates,这将返回一个 qs,它评估为 python 日期对象列表而不是月份数字。但这是一种比接受的答案更好的方法,后者效率较低并且会包含重复项。从日期对象中获取月份数字当然很容易。
    • 哦,谢谢,忘记对象属性。在答案中编辑:)
    【解决方案2】:

    你可以这样做:

    months = [i.month for i in MyModel.objects.values_list('date', flat=True)]
    

    【讨论】:

    • 谢谢,这是我需要的!
    猜你喜欢
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2023-01-09
    相关资源
    最近更新 更多