恢复创建和上次修改的用户

2024-10-04 09:17:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个使用TimeStampedModel的模型,其中创建和更新已经集成

class Universo(TimeStampedModel):
    nombre = models.CharField('Universo', max_length=10)

    class Meta:
        verbose_name = 'Universo'
        verbose_name_plural = 'Universos'
        ordering = ['nombre']

    def __str__(self):
        return self.nombre

在“管理员”视图中,指明创建和修改它的用户 Image Admin

在模板中,我可以使用

{{u}} {{u.created}} {{u.modified}} 

但是我找不到如何将用户带到我认为我已经对模板进行了修改


Tags: 用户name模型self模板verbosemodelslength
2条回答

按如下方式修改模板:

{{u}} {{u.created}} {{u.modified}} {{u.created_by.username}}

您可以使用用户名、电子邮件或任何其他字段

这将为修改它的用户提供帮助

你必须多做一点才能达到你想要的。我将给出一个起点:

您必须首先在Universo模型和Django用户模型之间建立关系

from django.auth.models import User:

class Universo(TimeStampedModel):
    nombre = models.CharField('Universo', max_length=10)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE)

    class Meta:
        verbose_name = 'Universo'
        verbose_name_plural = 'Universos'
        ordering = ['nombre']

    def __str__(self):
        return self.nombre

您可以使用管理员登录将您的superuser用作登录用户。但是,在视图中,在为Univeso模型创建实例时,需要包括登录用户(来自request.user

然后,在模板中,您可以通过执行以下操作来渲染创建它的用户:

{{ u.created_by }}

您可以进一步探测created_by的字段:

{{u.created_by.name}}

相关问题 更多 >