我已经建模了一个名为ConversationHistory的类。无论何时创建实例,我都希望设置当前日期和当前时间。
class ConversationHistory(models.Model):
contact_date = models.DateField(_(u"Conversation Date"), blank=True)
contact_time = models.DateTimeField(_(u"Conversation Time"), blank=True)
def __init__(self, *args, **kwargs):
super(ConversationHistory, self).__init__(*args, **kwargs)
self.contact_date = datetime.datetime.now()
self.contact_time = datetime.datetime.now()
这个想法是用户以后可以将日期和时间调整为两个不同的字段。
我现在有点迷失如何使时间字段只显示和接受时间,而不是日期和时间。我认为不可能有没有日期时间的时间字段,但那么我将如何仅显示表单中的时间?
答案 0 :(得分:25)
如果您只想要时间,TimeField就是您所需要的:
class ConversationHistory(models.Model):
contact_date = models.DateField(_(u"Conversation Date"), blank=True)
contact_time = models.TimeField(_(u"Conversation Time"), blank=True)
您可以使用auto_now_add
选项:
class TimeField([auto_now = False,auto_now_add = False,** options])
一个时间,由datetime.time实例在Python中表示。接受 与DateField相同的自动填充选项。
如果您使用auto_now_add
,它会在首次创建对象时自动将字段设置为现在。
class ConversationHistory(models.Model):
contact_date = models.DateField(_(u"Conversation Date"), auto_now_add=True, blank=True)
contact_time = models.TimeField(_(u"Conversation Time"), auto_now_add=True, blank=True)