How to get the value being referenced in django?
Here I need to get the student_id in the values. I have defined s_id but if values() is called it does not show.
FeeSection.objects.get(id=1).section.sectionstudent_set.annotate(s_id=F('student__id')).get(student__id=1).qouta.feeqouta_set.all().values()
This query returns:
<QuerySet [{'id': 1, 'qouta_id': 2, 'type_id': 1, 'amount': Decimal('200.00')}, {'id': 2, 'qouta_id': 2, 'type_id': 2, 'amount': Decimal('10.00')}]>
what I need is: 's_id':1
<QuerySet [{'id': 1,'s_id':1, 'qouta_id': 2, 'type_id': 1, 'amount': Decimal('200.00')}, {'id': 2, 's_id':1,'qouta_id': 2, 'type_id': 2, 'amount': Decimal('10.00')}]>
Models:
class SectionStudent(models.Model):
student = models.ForeignKey('users.Student', on_delete=models.CASCADE)
section = models.ForeignKey(Section, on_delete=models.CASCADE, )
roll = models.IntegerField()
qouta = models.ForeignKey(Qouta, on_delete=models.CASCADE)
class FeeQouta(models.Model):
qouta = models.ForeignKey(to='section.qouta', on_delete=models.CASCADE)
type = models.ForeignKey(FeeType, on_delete=models.CASCADE)
amount = models.DecimalField(max_digits=10, decimal_places=2)
class FeeSection(models.Model):
section = models.ForeignKey('section.Section', on_delete=models.CASCADE)
month = models.IntegerField(choices=MONTH_CHOICES, default=datetime.datetime.now().month)
year = models.IntegerField(choices=YEAR_CHOICES, default=datetime.datetime.now().year)
class Section(models.Model):
section = models.CharField(max_length=1, verbose_name='section')
branch = models.ForeignKey(Branch, on_delete=models.CASCADE)
shift = models.ForeignKey(Shift, on_delete=models.DO_NOTHING)
cls = models.ForeignKey(Class, on_delete=models.CASCADE, verbose_name='Class')
version = models.ForeignKey(Version, on_delete=models.DO_NOTHING)
year = models.IntegerField(choices=YEAR_CHOICES, default=datetime.datetime.now().year)
from Recent Questions - Stack Overflow https://ift.tt/3lMr4Ta
https://ift.tt/eA8V8J
Comments
Post a Comment