gpt4 book ai didi

python - 根据另一个字段中的选择显示/隐藏 django 管理表单字段

转载 作者:行者123 更新时间:2023-12-03 09:42:29 24 4
gpt4 key购买 nike

我正在尝试隐藏 Django 管理表单字段,直到我从下拉列表中选择特定值

我已经尝试了包括 Jquery 在内的所有内容,Jquery 文件加载正确,因此我的静态根指向正确的文件,但是当管理站点加载并且我更改下拉列表中的值时,没有任何 react 。

我正在使用最新的 Django 和 python 3.7 我也在使用 Django-jet 作为自定义管理模板

模型.py


class Incident(models.Model):
Incident_Type =models.ForeignKey(IncidentType,on_delete=models.DO_NOTHING,
null=True, blank=False)
DEM_REASON_CHOICES = (("Payments", "Payments"), ("Policies", "Policies"), ("Legal Issues", "Legal Issues"), ("Deactivation", "Deactivation"))
demonstration_reason = models.CharField(max_length=200, choices=DEM_REASON_CHOICES, null=True, blank=True)

admin.py

@admin.register(IncidentType)
class IncidentTypeAdmin(admin.ModelAdmin):

@admin.register(Incident)
class IncidentAdmin(admin.ModelAdmin):
form = IncidentAdminForm

forms.py

from django import forms
from .models import Incident

class IncidentAdminForm(forms.ModelForm):
class Meta:
model = Incident
widgets = {
'demonstration_reason': forms.SelectMultiple,
}
fields = "__all__"
class Media:
js = ('jet/showhide.js',)

我的 Jquery 脚本
(function($) {
$(function() {
var selectField = $('#id_Incident_Type'),
verified = $('#id_demonstration_reason');

function toggleVerified(value) {
if (value === 'Demonstration') {
verified.show();
} else {
verified.hide();
}
}

// show/hide on load based on pervious value of selectField
toggleVerified(selectField.val());

// show/hide on change
selectField.change(function() {
toggleVerified($(this).val());
});
});
})(django.jQuery);

我正在像这样在 base.html 中加载脚本

{% block scripts %}
<script src="{% static 'jet/showhide.js' %}"></script>
{% endblock %}

当我运行服务器时,js 脚本会加载以下消息
"GET/static/jet/showhide.js HTTP/1.1"304 0

我希望 demo_reason 字段('#id_demonstration_reason')被隐藏,直到我从 Incident_Type 字段('#id_Incident_Type')中选择 demostaration

但是当我转到管理页面并单击模型时,使用当前代码时,demove_reason 字段没有隐藏,当我更改 Incident_Type 的值时没有任何 react

最佳答案

我建议选择2。该库还有很多其他功能,但链接字段正是您想要做的。
https://django-select2.readthedocs.io/en/latest/extra.html#chained-select2

关于python - 根据另一个字段中的选择显示/隐藏 django 管理表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57156935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com