首页 > 解决方案 > django在模型中返回链接用户名

问题描述

我知道代码中的内容是不正确的,我如何返回 api 链接到的用户名

在管理页面中查看

from django.db import models
from django.contrib.auth.models import User


class api(models.Model):
    user = models.ManyToManyField(User)
    api_key = models.CharField(max_length=120)

    def __str__(self):
        return f"api key for: {self.user.username}"

标签: djangodjango-models

解决方案


你必须使用

def __str__(self):
    return f"api key for: {[user.username for user in self.user.all()]}"

这将返回列表中与 ManytoManyField 相关的所有用户名。

例如:如果您有两个用户名为 austin 和 aron,它将返回为“api key for: ['austin', 'aron']”

ManytoManyField 不包含单个对象实例,因此您不能使用 self.user.username。


推荐阅读