如何使用 django-admin 命令将时间发送到模型?
How to send time to model usinig django-admin commands?
我想知道如何通过 django-admin 命令 class 向 django DateTimeField
发送时间,我所说的时间是指实际的小时和分钟而不是日期。谢谢
我的 django 管理命令 class
class Command(BaseCommand):
def handle(self, *args, **kwargs):
title = 'new new post'
try:
MyModel.objects.create(
title=title,
mytime= '???',
)
print('%s added' % (title,))
except:
print('error')
我的模型
class MyModel(models.Model):
title = models.CharField(max_length=250)
mytime = models.DateTimeField(null=True, blank=True)
def __str__(self):
return self.title
由于您正在使用 DateTimeField
,因此您不能只保存时间,但您可以稍后从中提取时间 (record.mytime.time()
)。
您正在寻找函数 datetime.now:
from datetime import datetime
MyModel.objects.create(
title=title,
mytime=datetime.now(),
)
但是 Django 提供了更方便的方法来做到这一点 - DateTimeField 有一个标志 auto_now,它在保存期间自动设置时间(或者 auto_now_add
如果你只想在模型已创建)
class MyModel(models.Model):
mytime = models.DateTimeField(null=True, blank=True, auto_now=True)
使用单独的 DateField
和 TimeField
解决了它,谢谢
我想知道如何通过 django-admin 命令 class 向 django DateTimeField
发送时间,我所说的时间是指实际的小时和分钟而不是日期。谢谢
我的 django 管理命令 class
class Command(BaseCommand):
def handle(self, *args, **kwargs):
title = 'new new post'
try:
MyModel.objects.create(
title=title,
mytime= '???',
)
print('%s added' % (title,))
except:
print('error')
我的模型
class MyModel(models.Model):
title = models.CharField(max_length=250)
mytime = models.DateTimeField(null=True, blank=True)
def __str__(self):
return self.title
由于您正在使用 DateTimeField
,因此您不能只保存时间,但您可以稍后从中提取时间 (record.mytime.time()
)。
您正在寻找函数 datetime.now:
from datetime import datetime
MyModel.objects.create(
title=title,
mytime=datetime.now(),
)
但是 Django 提供了更方便的方法来做到这一点 - DateTimeField 有一个标志 auto_now,它在保存期间自动设置时间(或者 auto_now_add
如果你只想在模型已创建)
class MyModel(models.Model):
mytime = models.DateTimeField(null=True, blank=True, auto_now=True)
使用单独的 DateField
和 TimeField
解决了它,谢谢