【发布时间】:2016-08-30 18:26:16
【问题描述】:
我需要创建一个具有生产月份和年份的模型。
我可以在这里看到两种可能性:
- 使用
DateField,将day设置为1,并且只使用月份和日期 - 使用 2 个
IntegerFields,一个用于月份,另一个用于年份。
每种解决方案的优势是什么?你推荐哪个,为什么?还有其他更好的方法来实现这一点吗?
【问题讨论】:
标签: django django-models model
我需要创建一个具有生产月份和年份的模型。
我可以在这里看到两种可能性:
DateField,将day 设置为1,并且只使用月份和日期IntegerFields,一个用于月份,另一个用于年份。每种解决方案的优势是什么?你推荐哪个,为什么?还有其他更好的方法来实现这一点吗?
【问题讨论】:
标签: django django-models model
将日期设置为 1 的日期字段会是更好的选择。如果您不需要一天,这并不重要,这只是向用户显示最终结果时的日期格式问题,例如将月份显示为 May 而不是 05。您可以像往常一样在所有 sql 查询中使用第 01 天的日期会(过滤、分组、排序等)。
为了让选择更明显,让我反过来问一下,如果我不关心秒,存储时间的最佳方式是什么 - 作为一个将秒设置为 0 的时间字段,或者作为两个分开的小时和分钟整数。
将其存储为日期会带来免费好处:日期验证、日期函数、日期排序、日期格式。
【讨论】: