ValueError in Django
Question: I'm getting a strange error and can't figure out why. I'd appreciate any
input. I've been stuck on this for a few days. Here is my code:

models.py

    
    
    class Employee(models.Model): 
        lastname = models.CharField(max_length=75) 
        firstname = models.CharField(max_length=75) 
        position = models.ForeignKey(Position) 
        jurisdiction = models.ForeignKey(Jurisdiction) 
        basepay = models.FloatField()
        ot = models.FloatField()
        benefits = models.FloatField()
        totalpay = models.FloatField()
    
        class Meta: 
            ordering = ['lastname', 'firstname'] 
        def __unicode__(self): 
            return "%s %s" % (self.firstname, self.lastname) 
        def full_name(self): 
            return "%s, %s" % (self.lastname, self.firstname) 
        def get_absolute_url(self): 
            return "/salaries/employee/%s/" % self.id  
    

urls.py

    
    
    from django.conf.urls.defaults import *
    from djangodemo.salaries.models import Employee
    from django.views.generic import list_detail
    
    employee_info = {
        "queryset" : Employee.objects.all(),
        "template_name" : "salaries/employee.html",
    }
    
    urlpatterns = patterns('',     
        (r'^salaries/employee/$', list_detail.object_list, 'employee_info'),
    )
    

employee.html

    
    
    {{ object_list }}
    

When I run python manage.py runserver and look at
`http://127.0.0.1:8000/salaries/employee` in my browser, I get this error:

    
    
    Traceback (most recent call last):
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\servers\basehttp.py", line 279, in run
        self.result = application(self.environ, self.start_response)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\servers\basehttp.py", line 651, in __call__
        return self.application(environ, start_response)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\handlers\wsgi.py", line 241, in __call__
        response = self.get_response(request)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\handlers\base.py", line 73, in get_response
        response = middleware_method(request)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\middleware\common.py", line 57, in process_request
        _is_valid_path("%s/" % request.path_info)):
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\middleware\common.py", line 142, in _is_valid_path
        urlresolvers.resolve(path)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\urlresolvers.py", line 294, in resolve
        return get_resolver(urlconf).resolve(path)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\urlresolvers.py", line 218, in resolve
        sub_match = pattern.resolve(new_path)
    
      File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\urlresolvers.py", line 123, in resolve
        kwargs.update(self.default_args)
    
    ValueError: dictionary update sequence element #0 has length 1; 2 is required
    


Answer: 
    urlpatterns = patterns('',     
        (r'^salaries/employee/$', list_detail.object_list, 'employee_info'),
    )
    

The third item in the tuple needs to be a dictionary, not a string. Try
removing the single quotes around employee_info:

    
    
    urlpatterns = patterns('',     
        (r'^salaries/employee/$', list_detail.object_list, employee_info),
    )
    

