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

2023-11-24

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

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

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

    def __str__(self):
        return self.title

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

Title Name

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

def __str__(self):
    return f'{self.title} {self.user.username}'

或者你可以使用str(…)用户的实现:

def __str__(self):
    return f'{self.title} {self.user}'

Note: It is normally better to make use of the settings.AUTH_USER_MODEL [Django-doc] to refer to the user model, than to use the User model [Django-doc] directly. For more information you can see the referencing the User model section of the documentation.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐