• Register
0 votes
1k views

Problem :

I have below error message on the django 1.4:

“Dictionary update sequence element #0 has length 1; 2 is required”

It happened to me when I tried using a template tag like: `{% for v in values %}

It happens too when I try to access on the hstore queryset

My code is as below:

mytmp = Item.objects.where(HE("kv").contains({'key':value}))
if mytmp.count() > 0:
item_id = mytmp[0].id,

I am just trying to access a value. I don't understand a "update sequence" message. When I use the cursor instead of the hstore queryset, a function works. A error comes on template rendering too. I just restarted the uwsgi and everything works well, but above error comes back later.

Has someone an idea to fix this error?

7 5 2
3,870 points

Please log in or register to answer this question.

2 Answers

0 votes

Solution :

Just ran into your problem. The root cause was because I just forgot to put the name= on a last argument of a url (or a path in Django 2.0+) function call.

For example, the below functions throw a error from your question:

url(r'^foo/(?P<bar>[A-Za-z]+)/$', views.FooBar.as_view(), 'foo')

path('foo/{slug:bar}/', views.FooBar, 'foo')

But below one actually work:

url(r'^foo/(?P<bar>[A-Za-z]+)/$', views.FooBar.as_view(), name='foo')

path('foo/{slug:bar}/', views.FooBar, name='foo')

So a reason why a traceback is unhelpful is as internally, Django wants to parse a given positional argument as a keyword argument kwargs, and since the string is the iterable, the atypical code path begins to unfold. So always use a name= on your urls!

9 7 4
38,600 points
0 votes

Solution:

Just ran into this problem. I don't know if it's the same thing that hit your code, but for me the root cause was because I forgot to put name= on the last argument of the url (or path in Django 2.0+) function call.

the following functions throw the error from the question:

url(r'^foo/(?P<bar>[A-Za-z]+)/$', views.FooBar.as_view(), 'foo')
path('foo/{slug:bar}/', views.FooBar, 'foo')

However it will work,

url(r'^foo/(?P<bar>[A-Za-z]+)/$', views.FooBar.as_view(), name='foo')
path('foo/{slug:bar}/', views.FooBar, name='foo')

The reason why the traceback is unhelpful is because internally, Django wants to parse the given positional argument as the keyword argument kwargs, and since a string is an iterable, an atypical code path begins to unfold. Always use name= on your urls!

 get dict from string is:

dic2 = eval(str1)
dic2
{'taras': 'vaskiv', 'iruna': 'vaskiv'}

Or in matter of security we can use literal_eval

from ast import literal_eval

pass a keyword argument name to url() function

url(r"^testing/$", views.testing, name="testing")

 

Another way of solve this issue

Pass a keyword argument name with value as your view name e.g home or home-view etc. to url() function.

 

Throws Error:

url(r'^home$', 'common.views.view1', 'home'),

Right 

url(r'^home$', 'common.views.view1', name='home'),

You are sending one parameter incorrectly; it should be a dictionary object:

Wrong: func(a=r)

Correct: func(a={'x':y})

I got the same issue and found that it was due to wrong parameters. In views.py, I used:

return render(request, 'demo.html',{'items', items})  

However, I found the issue: {'items', items}. Changing to {'items': items} resolved the issue.

10 6 4
31,120 points

Related questions

1 vote
1 answer 589 views
589 views
Problem : I am very new to Django. My current task is to store the form field variable with the help of Django cache and I have already added the Django form in my view. I am often facing below error and as I am very new to Django so unable to understand the below ...         form = Formulary() return render(request, 'form.html', {'form' : form}) I am looking for Django expert to fix above error.
asked May 1, 2020 stewart 4k points
0 votes
1 answer 69 views
69 views
I am doing the crash course in python book , and have checked the code multiple times getting the same error, can anyone help me with this, this is my code: view.py from django.shortcuts import render from django.http import HttpResponseRedirect from django.urls ... ', views.new_topic, name='new_topic'),     # adding entries     path('new_entry/<topic_id>/', views.new_entry, name='new_entry'), ]
asked Sep 21, 2020 anonymous
0 votes
1 answer 9 views
9 views
Problem: no python application found, check your startup logs for errors.
asked 4 days ago charles mathews 3.8k points
0 votes
1 answer 874 views
874 views
Problem : My Environment is Nginx + uwsgi and I am very new to it. I am getting a 502 bad gateway error from Nginx on certain GET requests. It seems to be related to a length of URL.. Please find below the nginx/error.log [error] 22113#0: *1 recv ... response header from upstream, client: 192.168.1.100, server: server.domain.com, request: "GET <long_url_here>" Can somebody solve this issue?
asked Nov 27, 2019 alecxe 7.5k points
0 votes
1 answer 121 views
121 views
Problem: I have freshly migrated my project from the old python2 to the new python3 and it has hundreds of the ForeignKey relations. I have very basic knowledge related to python. Using a solution to go line by line and add on_delete argument is not the possible. What ... it does not look like catching it somehow. Looking for a Python expert who can try to fix my above Python error very quickly.
asked Jul 15, 2020 Raphael Pacheco 4.9k points
1 vote
1 answer 458 views
458 views
Problem : I am a Computer Science Student. I want to develop my website by using Django 2.1.3 and python 3.7.1. If I try to go to my websites homepage then i often face below error: Traceback: File "C:\Users\Martin\AppData\Local\Programs\Python\ ... TypeError at / Exception Value: __init__() takes 1 positional argument but 2 were given Please guide me in fixing my above django related error.
asked May 14, 2020 Martin K 6.6k points
0 votes
1 answer 1.6K views
1.6K views
I was creating a new project in django. Firstly I installed django in my system but when I run the command : python manage.py runserver It does not work It shows a message : python: can't open file 'manage.py': [Errno 2] No such file or directory ... django and I started a project by running the command : django-admin startproject Utility Why am I seeing this error message, do anyone know?
asked Mar 18, 2020 LizzyM 6.1k points
0 votes
1 answer 50 views
0 votes
1 answer 738 views
738 views
Problem : I am new to HTMLParser my terminal showing me below error :- from django.utils.html import format_html, format_html_join, escape File "/usr/local/lib/python3.5/dist-packages/django/utils/html.py", line 16, in from .html_parser import HTMLParser, HTMLParseError ... I replace the HTMLParser with some other similar? Or should I try to downgrade the python ? Can someone help on this issue?
asked Mar 2, 2020 mphil 2.3k points
0 votes
1 answer 1.5K views
1.5K views
Problem : I am currently working on a django and I have gotten the below error: &ldquo;Type object 'datetime.datetime' has no attribute 'datetime'&rdquo; On a below line: date = datetime.datetime(int(year), int(month), 1) Does someone know any reason for above error?
asked Jan 28, 2020 jwilliam 3.9k points