我已经建模了一个名为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()
这个想法是,用户以后仍可以将日期和时间调整为两个不同的字段。
现在我有点迷茫,如何使时间字段仅显示和接受时间,而不是日期和时间。我确认不可能没有日期时间的时间字段,但是我将如何仅在表格中显示时间?
最佳答案
如果只需要时间,则需要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
选项:类TimeField([auto_now = False,auto_now_add = False,** options))
时间,在Python中由datetime.time实例表示。接受
与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)
关于django - 如何在Django中建模一个TimeField?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11385607/