首页 > 解决方案 > 日期时间字段参数

问题描述


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def __str__(self):
        return self.question_text
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

这是来自 Django 官方教程。models.DateTimeField('date published')为什么有一个字符串作为参数?根据文档,似乎 DateTimeField 不接受字符串参数。谢谢您的帮助。

标签: django

解决方案


除了 ForeignKey、ManyToManyField 和 OneToOneField 之外,每个字段类型都采用一个可选的第一个位置参数——一个详细的名称。如果没有给出详细名称,Django 将使用字段的属性名称自动创建它,将下划线转换为空格。关联

class DateTimeField(DateField):
......
class DateField(DateTimeCheckMixin, Field):
....
    def __init__(self, verbose_name=None, name=None, auto_now=False,
                 auto_now_add=False, **kwargs):

您可以在此处详细查看 DateTimeField 类的实现。


推荐阅读