gpt4 book ai didi

python - Django 查询 : Getting data over two relations

转载 作者:行者123 更新时间:2023-11-30 21:51:47 24 4
gpt4 key购买 nike

我已经在谷歌上搜索了很多并阅读了这个网站 https://docs.djangoproject.com/en/1.11/topics/db/queries/好几次,但我仍然无法获得正确的数据。

我用 MAC 地址扩展了标准的 Django 用户模型,因为我以后需要它。我也有这样的模型之间的关系:

一个“Django-Standard-User”有一个 UserProfile

一个“UserProfile”有很多 CalData

from django.contrib.auth.models import User

class UserProfile(models.Model):
user = models.OneToOneField(User)
mac = models.CharField(max_length=17, default='00:00:00:00:00:00')

def __str__(self):
return self.user.username

class CalData(models.Model):
user = models.ForeignKey(UserProfile)
date = models.DateField(default="1970-01-01")
timestamp = models.TimeField(default="00:00:00")
entry_id= models.CharField(max_length=100, default="NoID")

现在从 View 来看,在用户登录后,我想进行如下查询:“给我一个 Caldata 的查询(不是对象),其中用户 = “Standard-Django-User 的用户名”,日期 = 今天。

第二个问题是:是像我一样将 Caldata 的 ForeignKey 设置为“UserProfile”更好,还是将其设置为“User”(标准 Django 模型)更好。我的目标是说:一个用户拥有一个唯一的 MAC 地址和许多 CalData。

最佳答案

第一个问题:

CalData.objects.filter(user__user__username=request.user.username)

为您提供用户名。双下划线符号在 Django 中非常强大,可以让你遍历表。如果您有正确的中间件,每个登录请求都应该有一个用户字段。

第二个问题:如果用户没有 UserProfile,您是否希望他们能够与 CalData 关联?如果是,则链接到 User,如果不是,则链接到 UserProfile。

关于python - Django 查询 : Getting data over two relations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916428/

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