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()
Вернуться на верх