django - 如何在 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
解决方案
我认为您正在处理关于应该计算什么以及应该存储什么的问题。我认为您将需要另一个模型来管理它,例如
CourseSelection
,并且应该在付款时计算成本,然后存储为CourseSelectionPayment
推荐阅读
- visual-studio - VS setup 项目安装程序 - 自动更新
- jwt - JWT auth production enpoints UNSPECIFIED_ERROR 字符串长度不能为零。参数名称:oldValue
- flutter - Flutter:显示 ListView.builder 项目,其中 Id 是 List 中的元素
- git - 从源树中拉取和推送时出错
- c - 由于字节顺序,C如何读取4字节数字?
- javascript - D3v6 获取g元素位置
- kubernetes - 使用网络策略将命名空间中的 pod 与其他命名空间隔离
- excel - 通过条件格式着色的单元格的 VBA
- ios - Ionic 4 IOS平台无需打开短信app即可发送短信
- c# - 尝试在 c# diffrenet 项目中删除循环依赖