Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
初学者:Django CreateView表单中外键字段的动态过滤_Django - Fatal编程技术网

初学者:Django CreateView表单中外键字段的动态过滤

初学者:Django CreateView表单中外键字段的动态过滤,django,Django,型号: 视图: 模板: class CycleCreateView(CreateView): model = Instructional_Cycle template_name = 'cycle_new.html' fields = '__all__' success_url = reverse_lazy('student_progress:cycles') 请为这个新手“安静下来”。我刚刚完成了Django初学者版的工作,关于这一切如何结合在一起的概念模型仍然

型号:

视图:

模板:

class CycleCreateView(CreateView):
    model = Instructional_Cycle
    template_name = 'cycle_new.html'
    fields = '__all__'
    success_url = reverse_lazy('student_progress:cycles')

请为这个新手“安静下来”。我刚刚完成了Django初学者版的工作,关于这一切如何结合在一起的概念模型仍然充满漏洞。请假定我几乎什么都不知道。谢谢

您应该考虑使用类似django ajax select的东西

一个页面上的大量反应性工作需要您熟悉Javascript、Ajax等。如果是这样,您可以采取多种方法,使用所需的选项刷新表单

或者,您可以在流程的前一步要求用户提供必要的数据,然后让Django首先通过以下步骤为您构建正确的表单

class CycleCreateView(CreateView):
    model = Instructional_Cycle
    template_name = 'cycle_new.html'
    fields = '__all__'
    success_url = reverse_lazy('student_progress:cycles')
<!-- student_progress/cycle_new.html -->

{% extends 'base.html' %}

{% block content %}
    <h1>Add a new instructional cycle:</h1>

    <form action="{% url 'student_progress:cycle_new' %}" method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button name="submit">add cycle</button>
    </form>

{% endblock content %}
class StandardAdmin(admin.ModelAdmin):
    list_display = ('descriptor', 'description', 'essential_status')
    list_filter = ('subject', 'grade_level', 'essential_status')
    search_fields = ('descriptor',)
    inlines = [MilestoneInLine]

    def get_search_results(self, request, queryset, search_term):
        queryset, use_distinct = super().get_search_results(request, queryset,         search_term)
        try:
            search_term_as_int = int(search_term)
        except ValueError:
            pass
        else:
            queryset |= self.model.objects.filter(age=search_term_as_int)
        return queryset, use_distinct