【问题标题】:filter ChoiceField dynamically based on another field根据另一个字段动态过滤 ChoiceField
【发布时间】:2023-04-06 04:17:01
【问题描述】:

已解决
非常感谢 Abdul Aziz Barkat,他在评论中发布了一个完美教程的链接。 基本上,我创建了一个视图,它为我提供了与过滤数据列表相对应的一小部分 html,并且我使用 ajax 调用仅重新加载模板的那部分。下面我留下了指南的链接以获得更多解释: https://simpleisbetterthancomplex.com/tutorial/2018/01/29/how-to-implement-dependent-or-chained-dropdown-list-with-django.html.


我有一个必须由用户填写的模型表格。 表单中有 3 个相互依赖的下拉菜单(模型中的外键)。也就是说,当用户在第一个字段中选择一个值时,第二个字段中的结果必须动态依赖于该值。 我知道我必须使用 ajax,但我从未使用过它,我不知道从哪里开始

我知道要过滤我必须设置查询集,例如form.fields['stabilimento'].queryset = Stabilimento.objects.filter(),但是不知道用ajax怎么做

model.py

class Ticket(models.Model):
    stabilimento = models.ForeignKey(Stabilimento, on_delete = models.RESTRICT)
    linea = models.ForeignKey(Linea, on_delete = models.RESTRICT)
    macchina = models.ForeignKey(Macchina, on_delete = models.RESTRICT)

form.py

class NewTicketForm(forms.ModelForm):
    class Meta:
        model = Ticket
        fields = '__all__'

【问题讨论】:

标签: django ajax django-forms


【解决方案1】:

非常感谢 Abdul Aziz Barkat,他在评论中发布了一个完美教程的链接。 https://simpleisbetterthancomplex.com/tutorial/2018/01/29/how-to-implement-dependent-or-chained-dropdown-list-with-django.html

【讨论】:

  • 仅链接的答案通常不受欢迎。相反,您应该将相关内容放在您的答案中(当然要从您复制的地方注明出处)。
猜你喜欢
  • 2019-03-22
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多