python - 如何过滤内联表单集中的下拉列表

标签 python python-2.7 django-1.8 inline-formset

我的内联表单集包含一个包含可用项目的下拉列表。我正在尝试按日期过滤此列表。不幸的是,我提供的查询集不限制选择:

def order(request, date):
    new_order = get_object_or_404(Order, date=date, user=None)
    new_items = Order_items.objects.filter(order__date=date, quantity=0)
    OrderFormset = inlineformset_factory(Order, Order_items, extra=0, fields='__all__')
    ordering_user = request.user
    if request.method == 'POST':
        form = OrderForm(request.POST, instance=new_order)
        formset = OrderFormset(request.POST, instance=new_order, queryset=Order_items.objects.filter(order__date=date, quantity=0))
        [...]
    else:
        form = OrderForm(instance=new_order)
        formset = OrderFormset(instance=new_order, queryset=Order_items.objects.filter(order__date=date, quantity=0))
    [...]

相反,它显示表 Order_items 中可用的每条记录。我应该更改什么才能使其正常工作?

最佳答案

好的,解决方案是在以下几行下面添加一个简单的查询:

for n in formset:
            n.fields['product'].queryset = Menu.objects.filter(date=date)

关于python - 如何过滤内联表单集中的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42002867/

相关文章:

python - 使用 OAuth 服务器端的 Facebook 注销

python - 在 C 中使用 Python 日志记录模块

python - __init__ 的正确类型注释

python - 'UserCreationForm' 对象没有属性 'get_username' django 1.8

python - 从 Django 管理员发布时出现 Django ConnectionError (urllib3.connection.HTTPConnection)

python - 当所有值都等于多个标准时,删除 Pandas 中的观察结果

python - 如何从用户那里获取多行输入

python - 使用python按字节修改图像

python - 如何在 Django ORM 中连接两个表而没有第一个表中的任何列引用第二个

Django 1.8 条件注释导致 INNER JOIN 而不是 LEFT OUTER JOIN