【发布时间】:2021-11-02 14:05:08
【问题描述】:
我在 Django 中有一个名为 Accounts 的模型,它有 id、name、email 和 balance 字段。我想在访问详细信息页面时检索特定数据集。假设当我单击详细信息页面时,我通过字符串“名称”发送,其中包含帐户所属用户的名称。我正在尝试获取特定的查询,但无济于事。这是查询集在Accounts.objects.all() ==> <QuerySet [<Account: UserA>, <Account: UserB>, <Account: UserC>, <Account: UserD>, <Account: UserE>, <Account: UserF>, <Account: UserG>, <Account: UserH>, <Account: UserI>, <Account: UserJ>]> 上返回的内容
我试过Accounts.objects.values().get(id=id),但它提供了一个id、user_id和balance的字典。我也想访问用户的电子邮件。
我试过Accounts.objects.get(username=name),但它返回的错误太多,无法解包。
一种方法是Accounts.objects.all()[id],它既便宜又不动态,因为如果我们删除一些用户,它就不起作用了。
user/models.py
from django.db import models
from django.contrib.auth.models import User
class Account(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
balance = models.IntegerField(default=0)
def __str__(self):
return str(self.user)
我在这里缺少什么?或者这里出了什么问题?
【问题讨论】:
-
请提供
models.py。 -
Accounts.objects.get(username=name)返回什么?我的意思是,它会导致什么错误? -
@bichanna 字段 'id' 需要一个数字,但得到了 'UserA'。
-
@RevTpark 你想从模型用户中搜索什么参数、id 或用户名?
-
@EkiSaputra 用户名