Python Django onetoone与不使用查询的用户的关系

Python Django onetoone与不使用查询的用户的关系,python,django,python-3.x,django-models,django-rest-framework,Python,Django,Python 3.x,Django Models,Django Rest Framework,我的模型是这样的 class Profile(models.Model): user = models.OneToOneField(User,default=None,null=True,on_delete=models.CASCADE) name = models.CharField(max_length=50,null=True) 我试图使用shell通过模型,但得到的是空查询。 我试过这个 >>> u1=User.objects.get(username

我的模型是这样的

class Profile(models.Model):
    user = models.OneToOneField(User,default=None,null=True,on_delete=models.CASCADE)
    name = models.CharField(max_length=50,null=True)
我试图使用shell通过模型,但得到的是空查询。 我试过这个

>>> u1=User.objects.get(username='gautam')
>>>u1
<User: gautam> 
>>> Profile.objects.get(user=u1)
Traceback (most recent call last):
File "/usr/lib/python3.6/code.py", line 91, in runcode
exec(code, self.locals)
File "<console>", line 1, in <module>
File "/home/gautam/.local/lib/python3.6/site- 
packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/gautam/.local/lib/python3.6/site- 
packages/django/db/models/query.py", line 399, in get
self.model._meta.object_name
homes_login.models.DoesNotExist: Profile matching query does not 
exist.
u1=User.objects.get(username='gautam') >>>u1 >>>Profile.objects.get(用户=u1) 回溯(最近一次呼叫最后一次): 文件“/usr/lib/python3.6/code.py”,第91行,运行代码 exec(代码,self.locals) 文件“”,第1行,在 文件“/home/gautam/.local/lib/python3.6/site- packages/django/db/models/manager.py”,第82行,在manager\u方法中 返回getattr(self.get_queryset(),name)(*args,**kwargs) 文件“/home/gautam/.local/lib/python3.6/site- packages/django/db/models/query.py”,get中第399行 self.model.\u meta.object\u name homes\u login.models.DoesNotExist:配置文件匹配查询不存在 存在。
我正在尝试获取该配置文件的用户。

此配置文件不是创建的。设置
OneToOne
关系并不能保证每个用户都有配置文件。要克服这一点,您只需创建新的概要文件,如下所示:

>>> Profile.objects.create(user=u1)

要自动化获取现有配置文件或创建新配置文件的过程,可以使用
get\u或\u create
方法。

这可能会发生。请注意,
OneToOneField
事实上并不意味着每个
用户都有一个
配置文件
,它意味着您构造了一个
外键
,具有
unique=True
约束,这样两个
Profile
s就不能指向同一个
User
。嘿,非常感谢你的帮助谢谢@gwynbleid你真的解决了我的问题吗