2015-02-12 72 views
0

有人可以给我一个快速的解释,当我调用about.objects.all()和cv.objects.all()时我做错了。我在shell中测试了它们,并得到了相同的错误。AttributeError:'function'对象没有属性'objects'

from django.shortcuts import render 
from resume.models import websites, about, cv 
from django.http import HttpResponse 


def about_text(request): 
    about_text = about.objects.all() 
    context_dict = {'text': about_text} 

    response = render(request, 'resume.html', context_dict) 
    return response 



def cv(request): 
    position = cv.objects.all() 
    context = {'job': position} 

    response = render(request, 'resume.html', context_dict) 
    return response 

车型

from django.db import models 
from django.utils import timezone 

class cv(models.Model): 
    title = models.CharField(max_length=128) 
    company = models.CharField(max_length=128) 
    started = models.DateField() 
    ended = models.DateField() 
    roles = models.TextField() 

    def __unicode__(self): 
     return self.position 


class about(models.Model): 
    text = models.TextField() 

    def __unicode__(self): 
     return self.text 

追踪误差

Request Method: GET 
Request URL: http://127.0.0.1:8000/resume/test 

Django Version: 1.7.3 
Python Version: 2.7.6 
Installed Applications: 
('django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'resume', 
'blog') 
Installed Middleware: 
('django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware') 


Traceback: 
File "c:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response 
    111.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "C:\Users\WriteCode\test_env\portfolio\resume\views.py" in cv 
    16. position = cv.objects.all() 

Exception Type: AttributeError at /resume/test 
Exception Value: 'function' object has no attribute 'objects' 

回答

2

您的视图的名称和型号的名称都cv。您需要将您的视图名称更改为其他名称。 (也许get_all_resumes

def get_all_resumes(request): 
    position = cv.objects.all() 
    context = {'job': position} 

    response = render(request, 'resume.html', context) 
    return response 
+0

当然,知道这很简单。谢谢ozgurv。 – SkillSet12345 2015-02-12 07:22:31

2

除了ozgurv的回答,您还import resume.models as resume_models,然后可以参考CV类是这样的:resume_models.cv.objects.all()。我不认为这是一个更好的解决方案,但值得一提。

相关问题