Django 3.2.9: обновление метки времени при вызове функции представления
Я использую django 3.2.9 в качестве back-end для моего приложения. Вот выдержка из моей модели проекта:
class Project(TimeStampedModel):
"""
A collection of projects completed
"""
uuid = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True)
account = models.ForeignKey('accounts.Account', on_delete=models.CASCADE)
name = models.CharField(max_length=50, blank=True, null=True)
description = models.CharField(max_length=250, blank=True, null=True)
# I need to add a time stamp here
copied_on
Мне нужно добавить метку времени в модель проекта, которая обновляется каждый раз, когда вызывается следующее представление:
@action(detail=True, methods=['post'])
def copy_to_account(self, request, *args, **kwargs):
user = request.user
project = self.get_object()
знаете ли вы, как это сделать? Спасибо
После небольшого поиска я пришел к следующему решению. Я размещаю его здесь в надежде, что оно будет кому-то полезно:
class Project(TimeStampedModel):
"""
A collection of projects completed
"""
uuid = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True)
account = models.ForeignKey('accounts.Account', on_delete=models.CASCADE)
name = models.CharField(max_length=50, blank=True, null=True)
description = models.CharField(max_length=250, blank=True, null=True)
copied_on = models.DateTimeField(blank=True, null=True)
и добавил две строки в конце моей функции View:
@action(detail=True, methods=['post'])
def copy_to_account(self, request, *args, **kwargs):
user = request.user
project = self.get_object()
...
project.copied_on = timezone.now()
project.save()