带有嵌套对象的JSON查询集

2024-05-16 23:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个班的资格标准,奖学金。奖学金引用合格标准作为外键。在

class EligibilityCriteria(models.Model):
    criteria_id = models.AutoField(primary_key=True)
    gender = models.ForeignKey(Gender, null=True, blank=True)
    minimum_age = models.IntegerField(blank=True, null=True)
    maximum_age = models.IntegerField(blank=True, null=True)
    eligibility_colleges = models.TextField(blank=True, null=True)
    state = models.ForeignKey(State, blank=True, null=True, on_delete=SET_NULL)
    caste = models.ForeignKey(Caste, blank=True, null=True, on_delete=SET_NULL)
    religion = models.ForeignKey(Religion, blank=True, null=True, on_delete=SET_NULL)
    education_level = models.ForeignKey(Education_level, blank=True, null=True, on_delete=SET_NULL)
    minimum_percentage = models.CharField(max_length=100, blank=True, null=True)
    income_ceiling = models.IntegerField(blank=True, null=True)
    other_criteria = models.TextField(blank=True, null=True)

    def __unicode__(self):
        return str(self.education_level) + "_" + str(self.state) + "_" + str(self.gender)

class Scholarship(models.Model):
    scholarship_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=500)
    description = models.TextField()
    eligibility_criteria = models.ForeignKey(EligibilityCriteria, null=True, on_delete=models.CASCADE)
    scholarship_category = models.ForeignKey(ApplicantCategory, blank=False, null=False, on_delete=CASCADE)
    end_date = models.DateTimeField(null=True, blank=True)
    availability_count = models.IntegerField(null=True, blank=True)
    website_link = models.CharField(max_length=500, blank=True, null=True)
    amount = models.CharField(max_length=100, blank=True, null=True)
    selection_procedure = models.TextField(blank=True, null=True)

    def __unicode__(self):
        return str(self.name)

现在,当我将奖学金的QuerySet转换为json时,EligibilityCriteria的值丢失了:

^{pr2}$

结果:

[{"model": "scholarship.scholarship", "pk": 1, "fields": {"name": "BlynQ Creative Scholarship", "description": "Most creative UI Designer", "eligibility_criteria": 2, "scholarship_category": 5, "end_date": "2017-02-20T00:00:00Z", "availability_count": null, "website_link": "www.blynq.in", "amount": "20000", "selection_procedure": "From open source repositories"}]

如何将奖学金对象的QuerySet转换为json,这样就可以看到资格条件中的值了?在


Tags: selftrueonmodelsdeletenullscholarship奖学金