如何从表中打印多个对象 def __str__(self):return self.title

Kwa*_*all 5 django django-models django-forms

我在models.py下面创建了一篇文章 models

class Article(models.Model):

    user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True)
    is_deleted = models.BooleanField(default=False)
    custom_id = models.UUIDField(blank=False,null=False, default=uuid.uuid4, editable=False)
    title = models.CharField(max_length=200, blank=False)
    text = models.TextField()
    created_on = models.DateTimeField("created on", auto_now_add=True)
    objects = models.Manager()

    def __str__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

用于打印标题对象我在下面的行中使用

    def __str__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

但我想用用户对象打印标题对象。怎么办?例如

Title Name
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 7

您可以使用用户名(或其他字段)对其进行格式化:

\n
def __str__(self):\n    return f\'{self.title} {self.user.username}\'
Run Code Online (Sandbox Code Playgroud)\n

或者您可以使用str(\xe2\x80\xa6)用户的实现:

\n
def __str__(self):\n    return f\'{self.title} {self.user}\'
Run Code Online (Sandbox Code Playgroud)\n
\n
\n

注意:通常使用settings.AUTH_USER_MODEL\xc2\xa0 [Django-doc]来引用用户模型比直接使用Usermodel\xc2\xa0 [Django-doc]更好。有关详细信息,您可以参阅文档的参考User模型部分。

\n
\n