如何引用django外键?

如何引用django外键?,django,foreign-keys,Django,Foreign Keys,我曾经使用OneToOneField与用户模型的关系,但我必须切换到外键(因为我想为一个用户存储多个日期)。现在我似乎不知道如何在视图中引用我的数据 view.py def get_数据(请求、*args、**kwargs): 数据={ “权重”:request.user.user\u profile.weight, “目标”:request.user.user\u profile.goal, “日期”:request.user.user\u profile.created\u位于, } 返回J

我曾经使用OneToOneField与用户模型的关系,但我必须切换到外键(因为我想为一个用户存储多个日期)。现在我似乎不知道如何在视图中引用我的数据

view.py

def get_数据(请求、*args、**kwargs):
数据={
“权重”:request.user.user\u profile.weight,
“目标”:request.user.user\u profile.goal,
“日期”:request.user.user\u profile.created\u位于,
}
返回JsonResponse(数据)
models.py

来自django.db导入模型的

从django.contrib.auth.models导入用户
从django.db.models.signals导入后保存
从django.dispatch导入接收方
起始日期时间导入日期
#在这里创建您的模型。
类配置文件(models.Model):
user=models.ForeignKey(用户,在\u delete=models.CASCADE上,相关的\u name='user\u profile')
权重=型号。浮动字段(最大长度=20,空白=真,空=真)
高度=型号。浮动字段(最大长度=20,空白=真,空=真)
goal=models.FloatField(max_length=20,blank=True,null=True)
已创建\u at=models.DateField(auto\u now\u add=True)
定义(自我):
返回self.user.username
@接收方(保存后,发送方=用户)
def save_user_配置文件(发送方、实例、已创建、**kwargs):
如果创建:
Profile.objects.create(用户=实例)

我认为你应该保留一个字段。如果需要多个日期,可以为这些日期创建ForeignKey

如果您仍然需要ForeignKey配置文件用户,您可以尝试按用户名、日期等筛选配置文件模型,以获得所需的特定配置文件:

profile = Profile.objects.get(user=request.user, created_at=request.user.date_joined)

data = {
        'weight': profile.weight,
        'goal': profile.goal,
        'date': profile.created_at,
    }