小编Mat*_*hys的帖子

如何在django模型上表示月份为字段

如何将特定日历月表示为与整月相关的数据字段,例如.2015年3月,而不是那个月内的某一天.Django提供了models.DateField类,但它要求指定日期.我正在寻找的是一个MonthField.

我正在寻找处理这种情况的最pythonic和"Django"方式.我现在已多次遇到这种情况,并且很想知道处理它的"正确"方法是什么.

我知道这个问题.没有讨论基于字符串的方法的优点和缺点或与其他解决方案的比较.

我正在考虑的一些陈述包括:

  1. 使用日期字段并强制将该日期指向该月的第1天.
  2. 使用单个整数,在"自1900年1月以来的几个月"时尚中进行解释.
  3. 使用两个单独的整数字段,年和月.
  4. 使用字符字段,例如"2015-03"

我认为解决方案是使用自定义字段(models.Field根据https://docs.djangoproject.com/en/dev/howto/custom-model-fields/的子类),使用上面的表示之一,以及相关的小部件,验证等,但我也会考虑提供替代解决方案的答案.

类似的问题是与特定周相关的数据,例如.员工时间表.我过去通过创建WorkWeek模型来处理这个问题,虽然我怀疑这是错误的方式,因为我将数据存储在内置python库中已有的数据库中.

python django django-models

6
推荐指数
1
解决办法
5862
查看次数

标签 统计

django ×1

django-models ×1

python ×1