[Answered ]-How to change field value dynamically depended on dropdown selection in django

1👍

hi you can modify your save method to fill automatically field price from Level model

Enrollment.level

class Enrollment(models.Model):
    student = models.ForeignKey(Student, on_delete=models.PROTECT)
    level = models.ForeignKey(Level, on_delete=models.CASCADE)
    date_enrolled = models.DateField()
    price = models.PositiveSmallIntegerField()
    
    def save(self,*args,**kwargs):
        self.price = Pricing.objects.get(level=self.level).price
        super().save(*args,*kwargs)

but I recommend to rewrite your model like above example because its simple and you can access to price of every level directly
like Enrollment.level.price

class Level(models.Model):
   level = models.CharField(max_length=50,unique=True)
   price = models.PositiveSmallIntegerField(default=0)

class Enrollment(models.Model):
    student = models.ForeignKey(Student, on_delete=models.PROTECT)
    level = models.ForeignKey(Level, on_delete=models.CASCADE)
    date_enrolled = models.DateField()

I hope it helped you

👤Nova

Leave a comment