python - 在 Django View 中过滤下拉查询集

标签 python django

我正在尝试过滤表单下拉列表的查询集

表单.py

class ProductForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = [  'GTIN','name','style1','style2','style3','size','dimension','color','UOM','description','keywords', 'defaultPrice' ,'customerdiscount']

查看.py

@login_required
def product_edit(request,pk,uri):
    uri = _get_redirect_url(request, uri)
    post = get_object_or_404(Product, pk=pk)
    if request.method == "POST":
        form = ProductForm(request.POST, instance=post)
        if form.is_valid():
            product = form.save(commit=False)
            product.creation_time = timezone.now()
            product.save()
            messages.add_message(request, messages.SUCCESS, product.name + "-SUCCESS Object saved sucssefully")
            return redirect(uri)
    else:
        form = ProductForm(instance=post)
        form.UOM.queryset = UOM.objects.filter(id=pk)

    material = post.material   
    return render(request, 'item/product/product_edit.html', {'form': form, 'material':material })

我不知道我的方法是否正确(我将此行 form.UOM.queryset = UOM.objects.filter(id=pk) 添加到我的工作 View 中)

但现在我收到错误:'ProductForm' 对象没有属性 'UOM'

我清楚地看到这个表单确实有属性UOM。可能是什么问题呢?这种方法也可以从我的下拉数据集中过滤数据吗?

最佳答案

试试这个:

form.fields['UOM'].queryset = UOM.objects.filter(id=pk)

关于python - 在 Django View 中过滤下拉查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37080758/

相关文章:

Python - 返回给定x的多边形路径的y坐标

Python NaN 平方误差

Django 为用户信号创建配置文件

python - 图书对象不可迭代 : Trying to display similar objects of an instance based on a field

python - 如何使用 lxml 选择和更新混合内容中的文本节点?

python - 计算距纬度和经度距离内的地标并附加在循环中

python - WSGI/APACHE/DJANGO ..导入错误: Could not import settings

python - Django 在哪里存储 session ?

python - 使用窗口迭代数据框

javascript - Django Ajax 返回错误消息