javascript - 基于 dropdwon 选项的 Django 动态视图
问题描述
我创建了一个收集所有日常收入的应用程序。模型如下:
class Income(models.Model):
date=models.DateField('', default="GG/MM/YYYY")
income=models.DecimalField()
我创建了一个简单的模板,其中包含表单和收集了所有数据的数据表。
<form method="post">
<div class="row">
h5>Income data collection</h5>
<div class="row">
<div class="form-group col-2 0 mb-0" >
{{form.income|as_crispy_field}}
</div>
<div class="form-group col-2 0 mb-0" >
{{form.date|as_crispy_field}}
</div>
</div>
<table class="table" >
<thead>
<tr>
<th>Income</th>
<th>Date</th>
</tr>
</thead>
<tbody>
{% for inc in income%}
<tr>
<td>{{inc.income}}</td>
<td>{{inc.date}}</td>
</tr>
{% endfor %}
</tbody>
</table>
在视图中,我添加了以下过滤器:
income=Income.objects.filters(data__year='2020')
此时,我创建了另一个模型,将参考年份设置如下:
我有以下型号
class Timing(models.Model):
reference_year=models.DecimalField(max_digits=4, decimal_places=0, default="2020")
该模型具有表格视图,使客户可以注册所有参考年(2020、2021 等)。现在我想链接views.py reference_year
。income
如何?带有一个下拉菜单,其中包含所有已填充的 reference_year。因此,例如,如果客户在时序模型中保存的 reference_year 等于 2020,则客户可以在下拉列表中选择它,并且视图会动态更新过滤器。
解决方案
如果我理解正确,您应该通过 ajax 函数保存数据,然后从 ajax 成功函数中编辑下拉菜单。在视图端获取现有数据并将其发送到 html。抱歉,我无法发表评论,因为我的声誉低于 50。如果这就是您要寻找的内容,我可以更详细地解释它。
推荐阅读
- javascript - Node JS socket.on() 客户端故障?
- swift - 在 Swift 中使用 NMSSH 通过 sftp 检索数据
- angular - Angular 8:如何将点击事件发送到特定坐标
- vue.js - 将 v-model 附加到在 Vue.js 中使用 .appendChild 添加的动态元素
- flutter - 将日期格式化为月数和年数
- kotlin - Proguard 移除 lambda 调用
- python - 熊猫重塑列
- android - 为什么在android设备中运行项目时会发生这种与firebase相关的flutter错误?
- node.js - TypeError:无法使用 Express 读取 Node js 中未定义的属性“名称”
- python - pygame.quit() 在切换文件时给出 init.font 错误