gpt4 book ai didi

python - 获取对象但无法访问属性

转载 作者:太空宇宙 更新时间:2023-11-04 08:34:49 25 4
gpt4 key购买 nike

检索用户对象时设置如下:

class User(models.Model):
"""
User model
"""
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
email = models.EmailField(max_length=255, null=True, default=None)
password = models.CharField(max_length=255, null=True, default=None)
ACCOUNT_CHOICE_UNSET = 0
ACCOUNT_CHOICE_BRAND = 1
ACCOUNT_CHOICE_CREATOR = 2
ACCOUNT_CHOICE_AGENCY = 3
ACCOUNT_CHOICES = (
(ACCOUNT_CHOICE_UNSET, 'Unset'),
(ACCOUNT_CHOICE_BRAND, 'Brand'),
(ACCOUNT_CHOICE_CREATOR, 'Creator'),
(ACCOUNT_CHOICE_AGENCY, 'Agency'),
)
account_type = models.IntegerField(choices=ACCOUNT_CHOICES, default=ACCOUNT_CHOICE_UNSET)

class Meta:
verbose_name_plural = "Users"

def __str__(self):
return "%s" % self.email

通过以下方式:

        try:
user = User.objects.get(email=request.data['email'])
except User.DoesNotExist:
response_details = {
'message': "Invalid email address.",
'code': "400",
'status': HTTP_400_BAD_REQUEST
}
return Response(response_details, status=response_details['status'])

为什么在尝试打印时只能查看 email 属性?我还需要能够访问 account_type 属性。

    if user:
print(user)

最佳答案

您可以为此修改模型的 __str__ 方法:

def __str__(self):
return "%s %s" % (self.email, self.account_type)

要在管理页面上只保留电子邮件,您需要自定义管理类。将此添加到 admin.py 文件:

from django.contrib import admin
from .models import User

class UserAdmin(admin.ModelAdmin):
list_display = ('email')

admin.site.register(User, UserAdmin)

关于python - 获取对象但无法访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50103639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com