gpt4 book ai didi

python - 在 Django 中使用 Join 进行查询

转载 作者:行者123 更新时间:2023-11-29 10:42:57 26 4
gpt4 key购买 nike

class Students(models.Model):
id = models.BigAutoField(primary_key=True)
admission_no = models.CharField(max_length=255)
roll_no = models.CharField(unique=True, max_length=50, blank=True, null=True)
academic_id = models.BigIntegerField()
course_parent_id = models.BigIntegerField()
course_id = models.BigIntegerField()
first_name = models.CharField(max_length=20)
middle_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
user_id = models.BigIntegerField()
date_of_birth = models.DateField(blank=True, null=True)
date_of_join = models.DateField(blank=True, null=True)

class Courses(models.Model):
id = models.BigAutoField(primary_key=True)
parent_id = models.IntegerField()
course_title = models.CharField(max_length=50)
slug = models.CharField(unique=True, max_length=50)
tenant_user = models.ForeignKey('Users', models.DO_NOTHING, default='')
course_code = models.CharField(max_length=20)
course_dueration = models.IntegerField()
grade_system = models.CharField(max_length=10)
is_having_semister = models.IntegerField()
is_having_elective_subjects = models.IntegerField()
description = models.TextField()
status = models.CharField(max_length=8)
created_at = models.DateTimeField(blank=True, null=True)
updated_at = models.DateTimeField(blank=True, null=True)

class Meta:
managed = True
db_table = 'courses'

def __unicode__(self):
return self.course_title

class StudentProfileSerializer(ModelSerializer):

class Meta:
model = Students
depth = 0
fields = '__all__'

前两个表/类包含类(class)和学生表,第三个包含序列化器。任何人都可以帮助如何使用 django 中的联接进行查询。我需要从类(class)表中获取类(class)标题,从学生表中获取名字。

最佳答案

恕我直言,您应该检查您的模型;学生中的 course_id 应该是 course=models.ForeignKey('Courses', ...);这样您就可以使用点符号引用类(class)标题;

student=Student.objects.filter(pk=...)

引用您的必填字段:

student.last_name, student.course.course_title

此外,如果我理解您的模型,您可能会遇到一些不一致...如果学生模型中的 course_parent_id 中存储的值与类(class)模型中的parent_id 中存储的值不同怎么办?也许第一个是多余的。

关于python - 在 Django 中使用 Join 进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45134666/

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