【问题标题】:Django: How do I dynamically filter a dropdown box?Django:如何动态过滤下拉框?
【发布时间】:2017-03-31 10:14:09
【问题描述】:

比如说我有一个三个模型。 ContentChapterPage。在Content 表单中会有两个下拉框。一个用于chapters,另一个用于pages。如果我要从下拉框中选择一个chapter,我该如何过滤page 下拉框以仅在该chapter 中显示pages

models.py

class Page(Models.Model):
    # Some details about the page

class Chapter(models.Model):
    # Some detail about the chapter

class Content(models.Model):
    chapter = models.ForeignKey(Chapter)
    page = models.ForeignKey(Chapter)

views.py

def create_contents(request):
    if request.POST:
        form = ContentForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()

            return HttpResponseRedirect('/books/all/')
    else:
        form = ContenttForm()

    args = {}
    args.update(csrf(request))

    args['form'] = form

    return render_to_response('content/content.html', args)

forms.py

class ContentForm(forms.ModelForm):

    class Meta:
        model = Content

【问题讨论】:

  • 您将需要使用 javascript 并在客户端执行此操作
  • 我为此开发了一个解决方案,See here

标签: python django


【解决方案1】:

我建议你有两个选择:

  1. 使用django-autocomplete-light
  2. 使用像this这样的jquery

【讨论】:

  • Autocompletes 部分是否进入 myapps admin.py?。我有一些问题让它工作。不过看起来真的很有用!!
  • 是的,您可以在您的admin.py 中使用Autocompletes。看看this
猜你喜欢
  • 1970-01-01
  • 2020-12-19
  • 2016-01-20
  • 2020-10-01
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多