keyerror in formset form fieldHow do you disable browser Autocomplete on web form field / input tag?JavaScript post request like a form submitDynamically adding a form to a Django formset with AjaxHow to prevent buttons from submitting formsConvert form data to JavaScript object with jQueryHTML-encoding lost when attribute read from input fieldjQuery AJAX submit formWhat does enctype='multipart/form-data' mean?Cannot display HTML stringDjango form. How hidden colon from initial_text?
On which topic did Indiana Jones write his doctoral thesis?
Understanding trademark infringements in a world where many dictionary words are trademarks?
How can I support myself financially as a 17 year old with a loan?
I have a unique character that I'm having a problem writing. He's a virus!
Why do people keep telling me that I am a bad photographer?
How did Kirk identify Gorgan in "And the Children Shall Lead"?
Expressing 'our' for objects belonging to our apartment
Can hackers enable the camera after the user disabled it?
Why is B♯ higher than C♭ in 31-ET?
How long would it take for people to notice a mass disappearance?
Multi-channel audio upsampling interpolation
If I readied a spell with the trigger "When I take damage", do I have to make a constitution saving throw to avoid losing Concentration?
Where can I go to avoid planes overhead?
Can there be a single technologically advanced nation, in a continent full of non-technologically advanced nations?
Which module had more 'comfort' in terms of living space, the Lunar Module or the Command module?
Getting a W on your transcript for grad school applications
What is the difference between 'unconcealed' and 'revealed'?
Point of the the Dothraki's attack in GoT S8E3?
Position of past participle and extent of the Verbklammer
As matter approaches a black hole, does it speed up?
How does this change to the opportunity attack rule impact combat?
How wide is a neg symbol, how to get the width for alignment?
What happens if you dump antimatter into a black hole?
Can my company stop me from working overtime?
keyerror in formset form field
How do you disable browser Autocomplete on web form field / input tag?JavaScript post request like a form submitDynamically adding a form to a Django formset with AjaxHow to prevent buttons from submitting formsConvert form data to JavaScript object with jQueryHTML-encoding lost when attribute read from input fieldjQuery AJAX submit formWhat does enctype='multipart/form-data' mean?Cannot display HTML stringDjango form. How hidden colon from initial_text?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I am making a delivery note transaction form, I have created a formset for which I want Django to ignore item transactions where the item is not selected and is empty.
forms.py
class Delivery_note_transiction_form(forms.Form):
item = forms.CharField(widget=Select2Widget(attrs="class" : "item"),label=False,required=False)
description = forms.CharField(widget=forms.TextInput(attrs= 'placeholder' : 'optionall','class' : 'description'),label=False,required=False)
quantity = forms.IntegerField(widget=forms.NumberInput(attrs='class' : 'quantity'),label=False,min_value=1)
id = forms.CharField(widget=forms.HiddenInput,required=False)
Delivery_note_transiction_form_formset = forms.formset_factory(Delivery_note_transiction_form,extra=1)
views.py
def feedback(request):
if request.method == "POST" and request.is_ajax():
form = Deliver_Note_Main_Modelform(request.POST)
formset = Delivery_note_transiction_form_formset(request.POST,request.FILES)
if form.is_valid() and formset.is_valid():
ins = form.save(commit=False)
ins.author = request.user
result = Customer_data.objects.get(pk=form.cleaned_data['customer'])
ins.customer_list = result
ins.save()
max_invoice = Invoice_max.objects.get(invoice_name='delivery')
max_invoice.invoice_no = max_invoice.invoice_no + 1
max_invoice.save()
print(formset)
for instant in formset:
if instant.cleaned_data['item']:
item = Product.objects.get(pk=instant.cleaned_data['item'])
description = instant.cleaned_data['description']
quantity = instant.cleaned_data['quantity']
Delivery_Note_Transiction.objects.create(
item=item,
description=description,
quantity=quantity,
delivery_invoice_no=ins
)
return JsonResponse('success':True, 'next' : reverse_lazy('delivery note:delivery note home page'))
else:
return render(request,"delivery_note/ajax/delivery note error message.html","error" : form, "transiction_error": formset)
return HttpResponse("Hello from feedback!")
template.html
% for delivery in delivery_transiction %
<tr class=" delivery_form ">
<td class="col-sm-4"> delivery.item</td>
<td class="col-sm-4">as_crispy_field </td>
<td class="col-sm-4">as_crispy_field </td>
</tr>
% endfor %
The post data is sent by Ajax and the selected option is created on the template. When it is loaded, a new row is added by Ajax. The problem is I want to it ignore transaction entry if the item is not selected or is empty, but when I run it, it gives this error:
"KeyError: 'item'"
It should ignore empty or not selected items. This only happens when the item is not selected in the transaction. I want to fix this error so that it will simply ignore rows in which the item is not selected.
javascript python html ajax django
add a comment |
I am making a delivery note transaction form, I have created a formset for which I want Django to ignore item transactions where the item is not selected and is empty.
forms.py
class Delivery_note_transiction_form(forms.Form):
item = forms.CharField(widget=Select2Widget(attrs="class" : "item"),label=False,required=False)
description = forms.CharField(widget=forms.TextInput(attrs= 'placeholder' : 'optionall','class' : 'description'),label=False,required=False)
quantity = forms.IntegerField(widget=forms.NumberInput(attrs='class' : 'quantity'),label=False,min_value=1)
id = forms.CharField(widget=forms.HiddenInput,required=False)
Delivery_note_transiction_form_formset = forms.formset_factory(Delivery_note_transiction_form,extra=1)
views.py
def feedback(request):
if request.method == "POST" and request.is_ajax():
form = Deliver_Note_Main_Modelform(request.POST)
formset = Delivery_note_transiction_form_formset(request.POST,request.FILES)
if form.is_valid() and formset.is_valid():
ins = form.save(commit=False)
ins.author = request.user
result = Customer_data.objects.get(pk=form.cleaned_data['customer'])
ins.customer_list = result
ins.save()
max_invoice = Invoice_max.objects.get(invoice_name='delivery')
max_invoice.invoice_no = max_invoice.invoice_no + 1
max_invoice.save()
print(formset)
for instant in formset:
if instant.cleaned_data['item']:
item = Product.objects.get(pk=instant.cleaned_data['item'])
description = instant.cleaned_data['description']
quantity = instant.cleaned_data['quantity']
Delivery_Note_Transiction.objects.create(
item=item,
description=description,
quantity=quantity,
delivery_invoice_no=ins
)
return JsonResponse('success':True, 'next' : reverse_lazy('delivery note:delivery note home page'))
else:
return render(request,"delivery_note/ajax/delivery note error message.html","error" : form, "transiction_error": formset)
return HttpResponse("Hello from feedback!")
template.html
% for delivery in delivery_transiction %
<tr class=" delivery_form ">
<td class="col-sm-4"> delivery.item</td>
<td class="col-sm-4">as_crispy_field </td>
<td class="col-sm-4">as_crispy_field </td>
</tr>
% endfor %
The post data is sent by Ajax and the selected option is created on the template. When it is loaded, a new row is added by Ajax. The problem is I want to it ignore transaction entry if the item is not selected or is empty, but when I run it, it gives this error:
"KeyError: 'item'"
It should ignore empty or not selected items. This only happens when the item is not selected in the transaction. I want to fix this error so that it will simply ignore rows in which the item is not selected.
javascript python html ajax django
add a comment |
I am making a delivery note transaction form, I have created a formset for which I want Django to ignore item transactions where the item is not selected and is empty.
forms.py
class Delivery_note_transiction_form(forms.Form):
item = forms.CharField(widget=Select2Widget(attrs="class" : "item"),label=False,required=False)
description = forms.CharField(widget=forms.TextInput(attrs= 'placeholder' : 'optionall','class' : 'description'),label=False,required=False)
quantity = forms.IntegerField(widget=forms.NumberInput(attrs='class' : 'quantity'),label=False,min_value=1)
id = forms.CharField(widget=forms.HiddenInput,required=False)
Delivery_note_transiction_form_formset = forms.formset_factory(Delivery_note_transiction_form,extra=1)
views.py
def feedback(request):
if request.method == "POST" and request.is_ajax():
form = Deliver_Note_Main_Modelform(request.POST)
formset = Delivery_note_transiction_form_formset(request.POST,request.FILES)
if form.is_valid() and formset.is_valid():
ins = form.save(commit=False)
ins.author = request.user
result = Customer_data.objects.get(pk=form.cleaned_data['customer'])
ins.customer_list = result
ins.save()
max_invoice = Invoice_max.objects.get(invoice_name='delivery')
max_invoice.invoice_no = max_invoice.invoice_no + 1
max_invoice.save()
print(formset)
for instant in formset:
if instant.cleaned_data['item']:
item = Product.objects.get(pk=instant.cleaned_data['item'])
description = instant.cleaned_data['description']
quantity = instant.cleaned_data['quantity']
Delivery_Note_Transiction.objects.create(
item=item,
description=description,
quantity=quantity,
delivery_invoice_no=ins
)
return JsonResponse('success':True, 'next' : reverse_lazy('delivery note:delivery note home page'))
else:
return render(request,"delivery_note/ajax/delivery note error message.html","error" : form, "transiction_error": formset)
return HttpResponse("Hello from feedback!")
template.html
% for delivery in delivery_transiction %
<tr class=" delivery_form ">
<td class="col-sm-4"> delivery.item</td>
<td class="col-sm-4">as_crispy_field </td>
<td class="col-sm-4">as_crispy_field </td>
</tr>
% endfor %
The post data is sent by Ajax and the selected option is created on the template. When it is loaded, a new row is added by Ajax. The problem is I want to it ignore transaction entry if the item is not selected or is empty, but when I run it, it gives this error:
"KeyError: 'item'"
It should ignore empty or not selected items. This only happens when the item is not selected in the transaction. I want to fix this error so that it will simply ignore rows in which the item is not selected.
javascript python html ajax django
I am making a delivery note transaction form, I have created a formset for which I want Django to ignore item transactions where the item is not selected and is empty.
forms.py
class Delivery_note_transiction_form(forms.Form):
item = forms.CharField(widget=Select2Widget(attrs="class" : "item"),label=False,required=False)
description = forms.CharField(widget=forms.TextInput(attrs= 'placeholder' : 'optionall','class' : 'description'),label=False,required=False)
quantity = forms.IntegerField(widget=forms.NumberInput(attrs='class' : 'quantity'),label=False,min_value=1)
id = forms.CharField(widget=forms.HiddenInput,required=False)
Delivery_note_transiction_form_formset = forms.formset_factory(Delivery_note_transiction_form,extra=1)
views.py
def feedback(request):
if request.method == "POST" and request.is_ajax():
form = Deliver_Note_Main_Modelform(request.POST)
formset = Delivery_note_transiction_form_formset(request.POST,request.FILES)
if form.is_valid() and formset.is_valid():
ins = form.save(commit=False)
ins.author = request.user
result = Customer_data.objects.get(pk=form.cleaned_data['customer'])
ins.customer_list = result
ins.save()
max_invoice = Invoice_max.objects.get(invoice_name='delivery')
max_invoice.invoice_no = max_invoice.invoice_no + 1
max_invoice.save()
print(formset)
for instant in formset:
if instant.cleaned_data['item']:
item = Product.objects.get(pk=instant.cleaned_data['item'])
description = instant.cleaned_data['description']
quantity = instant.cleaned_data['quantity']
Delivery_Note_Transiction.objects.create(
item=item,
description=description,
quantity=quantity,
delivery_invoice_no=ins
)
return JsonResponse('success':True, 'next' : reverse_lazy('delivery note:delivery note home page'))
else:
return render(request,"delivery_note/ajax/delivery note error message.html","error" : form, "transiction_error": formset)
return HttpResponse("Hello from feedback!")
template.html
% for delivery in delivery_transiction %
<tr class=" delivery_form ">
<td class="col-sm-4"> delivery.item</td>
<td class="col-sm-4">as_crispy_field </td>
<td class="col-sm-4">as_crispy_field </td>
</tr>
% endfor %
The post data is sent by Ajax and the selected option is created on the template. When it is loaded, a new row is added by Ajax. The problem is I want to it ignore transaction entry if the item is not selected or is empty, but when I run it, it gives this error:
"KeyError: 'item'"
It should ignore empty or not selected items. This only happens when the item is not selected in the transaction. I want to fix this error so that it will simply ignore rows in which the item is not selected.
javascript python html ajax django
javascript python html ajax django
edited Mar 23 at 0:21
MarredCheese
3,34612340
3,34612340
asked Mar 22 at 22:21
HamidHamid
613
613
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You have to use a try
except
when searching a dictionary for a key.
for instant in formset:
try:
item = Product.objects.get(pk=instant.cleaned_data['item'])
Except KeyError:
# What to do if no 'item'.
You will have to figure out where to put the rest of your code, but this will get you past the KeyError
.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55308515%2fkeyerror-in-formset-form-field%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You have to use a try
except
when searching a dictionary for a key.
for instant in formset:
try:
item = Product.objects.get(pk=instant.cleaned_data['item'])
Except KeyError:
# What to do if no 'item'.
You will have to figure out where to put the rest of your code, but this will get you past the KeyError
.
add a comment |
You have to use a try
except
when searching a dictionary for a key.
for instant in formset:
try:
item = Product.objects.get(pk=instant.cleaned_data['item'])
Except KeyError:
# What to do if no 'item'.
You will have to figure out where to put the rest of your code, but this will get you past the KeyError
.
add a comment |
You have to use a try
except
when searching a dictionary for a key.
for instant in formset:
try:
item = Product.objects.get(pk=instant.cleaned_data['item'])
Except KeyError:
# What to do if no 'item'.
You will have to figure out where to put the rest of your code, but this will get you past the KeyError
.
You have to use a try
except
when searching a dictionary for a key.
for instant in formset:
try:
item = Product.objects.get(pk=instant.cleaned_data['item'])
Except KeyError:
# What to do if no 'item'.
You will have to figure out where to put the rest of your code, but this will get you past the KeyError
.
answered Mar 23 at 9:37
Carl BrubakerCarl Brubaker
675213
675213
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55308515%2fkeyerror-in-formset-form-field%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown