gpt4 book ai didi

python - 如何选择与我的模型相关的模型对象

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:17 24 4
gpt4 key购买 nike

我正在为我的应用程序创建一个过滤系统,我想渲染 <select>字段,预先填充可能的选项。

假设我有一个名为 Exam 的模型与 Student 有关系这与StudentProfile有关- 我正在过滤Exam按字段划分的对象 has_scholarship在学生的个人资料中,因此我正在创建一个查询,例如: student__student_profile_has_scholarship并将其传递给 django 的 filter() 函数并且它可以工作。

但是现在,我想使用所有可能的 <option> 来渲染 html 表单s,为此我需要找到提到的可能选项。 如何从上述查询字符串中找到所有对象,以获取 student__student_profile 的所有对象来 self 的Exam模型?无论关系链有多长,假设关系都是正确的,这也必须起作用。

最佳答案

我假设有模型:

class Exam(models.Model):
example = models.CharField(max_length=255, default="")


class Stydent(models.Model):
exam = models.ManyToManyField(Exam, related_name="students")


class StydentProfile(models.Model):
stud = models.ForeignKey(Stydent, related_name="profiles",
on_delete=models.SET_NULL, default=None, null=True)

如果是:从考试获取所有学生或个人资料:

In [27]: exam
Out[26]: <Exam: Exam object (1)>

In [27]: exam.students.all()
Out[28]: <QuerySet [<Stydent: Stydent object (1)>]>

In [29]: exam.students.model.objects.all()
Out[29]: <QuerySet [<Stydent: Stydent object (1)>, <Stydent: Stydent object (2)>]>

In [30]: exam.students.model.profiles.field.model.objects.all()
Out[30]: <QuerySet [<StydentProfile: StydentProfile object (2)>, <StydentProfile: StydentProfile object (1)>]>

关于python - 如何选择与我的模型相关的模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901214/

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