'Manager' object is not callable

Dean picture Dean · Jul 18, 2010 · Viewed 19.2k times · Source

I keep getting this error on my views. I can't work it out as the code is similar to the djangos tutorial just changing the objects name. Here is the code for my views.py:

from django.http import HttpResponse           
from django.template import Context, loader  
from django.shortcuts import render_to_response
from astonomyStuff.attendance.models import Member
from astonomyStuff.attendance.models import Non_Member
from astonomyStuff.attendance.models import Talk
from astonomyStuff.attendance.models import Event_Attendance      


# Create your views here.       
def talksIndex(request):
latest_talk = Talk.objects().all()
return render_to_response('talks/index.html', {'latest_talk': latest_talk})

def viewMembers(request):
members_List = Member.objects().all()
return render_to_response('members/index.html', {'members_List': members_List})

Then my urls.py looks like this:

urlpatterns = patterns('',
# Example:
# (r'^astonomyStuff/', include('astonomyStuff.foo.urls')),

# Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
 (r'^admin/', include(admin.site.urls)),
 (r'^attendance/$', 'astonomyStuff.attendance.views.talksIndex'),
 (r'^members/$', 'astonomyStuff.attendance.views.viewMembers'),
)

Has any one got any ideas why this error is happening as i did earlier have the talks to work just fine. I can post more code if needed.

Answer

igalarzab picture igalarzab · Jul 18, 2010

objects isn't callable (is an attribute).

  • Talk.objects() --> won't work

  • Talk.objects --> will work

So instead of trying to call it like this:

# Create your views here.       
def talksIndex(request):
    latest_talk = Talk.objects().all()
    return render_to_response('talks/index.html', {'latest_talk': latest_talk})

Try this:

# Create your views here.       
def talksIndex(request):
    latest_talk = Talk.objects.all()
    return render_to_response('talks/index.html', {'latest_talk': latest_talk})

And the same with the other examples