加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Django外键QuerySet(连接)

发布时间:2020-12-20 11:30:05 所属栏目:Python 来源:网络整理
导读:所以我正在学习Django并试图通过仅使用Django ORM函数来获取外键值.我有2个表:用户表(默认Django auth_user系统表)和包含student_id,user_id(FK)和nr_indeksu的学生表(它是包含学生特定信息的附加信息的数字). class Student(models.Model): user = models.
所以我正在学习Django并试图通过仅使用Django ORM函数来获取外键值.我有2个表:用户表(默认Django auth_user系统表)和包含student_id,user_id(FK)和nr_indeksu的学生表(它是包含学生特定信息的附加信息的数字).

class Student(models.Model):
    user = models.ForeignKey(User)
    nr_indeksu = models.BigIntegerField()

    def __unicode__(self):
        return unicode(self.user

我想通过User模型获取nr_indeksu.换句话说,执行此查询(使用QuerySet):

SELECT nr_indeksu FROM auth_user
INNER JOIN courses_student on auth_user.id = courses_student.user_id;

我尝试过使用select_related()函数:

u = User.objects.select_related().get(pk=2)

但是当我尝试访问nr_indeksu时:

u.nr_indeksu

我得到User对象没有属性的错误(这是有道理的,因为nr_indeksu在学生模型中,但我不能从用户那里获取它?)

解决方法

记住,ForeignKey是一对多的关系:每个学生都有很多用户.从用户对象,您可以通过执行user_obj.student_set.all()来访问相关的学生.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读