首页 > 解决方案 > 如何在 django 中制作依赖下拉表单

问题描述

我有三个模型,每三个模型相互依赖。当我选择学生姓名时通过表单添加 Studentfee 模型,那么课程价格应该只与该学生的课程选择相关

模型.py

from django.db import models
from django.db.models import CASCADE


class Course(models.Model):
    title = models.CharField(max_length=250)
    basic_price = models.CharField(max_length=100)
    advanced_price = models.CharField(max_length=100)
    basic_duration = models.CharField(max_length=50)
    advanced_duration = models.CharField(max_length=50)

    def __str__(self):
        return self.title


class Student(models.Model):
    name = models.CharField(max_length=100)
    courses = models.ManyToManyField(Course)
    address = models.CharField(max_length=200)
    email = models.EmailField()
    phone = models.CharField(max_length=15)
    image = models.ImageField(upload_to='Students',blank=True)
    joined_date = models.DateField()

    def __str__(self):
        return self.name


class StudentFee(models.Model):
    student = models.ForeignKey(Student,on_delete=CASCADE)
    total_fee = models.ForeignKey(Course,on_delete=CASCADE) # should dynamically generate in the form based on the selection of student.how ??
    first_installment = models.IntegerField(blank=True)
    second_installment = models.IntegerField(blank=True)
    third_installment = models.IntegerField(blank=True)
    remaining = models.IntegerField(blank=True)

    def __str__(self):
        return self.total_fee

标签: django

解决方案


我认为您正在处理关于应该计算什么以及应该存储什么的问题。我认为您将需要另一个模型来管理它,例如 CourseSelection,并且应该在付款时计算成本,然后存储为CourseSelectionPayment


推荐阅读