将URL pk传递给Django modelform(Django 1.4)

2024-06-16 12:04:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的modelform中传递url pk,它有两个外键,然后在我的字段queryset中作为一个过滤器。我该怎么做?你知道吗

class myForm(forms.ModelForm):

    def __init__(self,*args, **kwargs):
    super(OrderReceivingForm, self).__init__(*args, **kwargs)
    for field in self.fields:
        self.fields['field1'].queryset = myModel1.objects.filter(Order=pk)
        self.fields['field2'].queryset = myModel2.objects.filter(Order=pk)

这是我的观点

def order(request,pk):


    myFormSet = modelformset_factory(OrderModel, form=myForm,))

    if request.method == 'POST':
        forms = myFormSet (request.POST)
        if forms.is_valid():
            for form in forms:
                order = form.save(commit=False)
                order.save()
            return HttpResponseRedirect('/foo/')

    form = myFormSet (queryset=OrderModel.objects.None())

    return render(request, 'foo/order.html', {'form': form})

这是我的网址

url (r'^foo/(?P<pk>[\w-]+)/', views.order),

先谢谢你。你知道吗


Tags: selfformurlfieldsobjectsfooinitrequest