2013-03-16 9 views
8

マイアプリは、あなたが絵を好きにできるようにしている、それは私が私のようなを作成することができ、画像を好きにしようとすると、私はエラーを取得し、同じページジャンゴ「関数」オブジェクトが無属性のオブジェクトの

にリダイレクトされますシェルプロンプトを使用したオブジェクトですが、なぜこのエラーが発生しますか?私のモデルの

 url(

パーツ:: R '^(/などのP?私に

AttributeError at /like/3/ 
function' object has no attribute 'objects'Request Method: GET 
Request URL: http://127.0.0.1:8000/like/3/ 

Exception Value: 'function' object has no attribute 'objects' 
Traceback: 
File "C:\Python26\Lib\site-packages\django\core\handlers\base.py" in get_response 
111.       response = callback(request, *callback_args, **callback_kwargs) 
File "C:\o\mysite\pet\views.py" in Like 
195.  new_like, created = Like.objects.get_or_create(user=request.user, picture_id=picture_id) 

これは私のviews.pyの部分

def Like(request,picture_id): 
    pid = picture_id 
    new_like, created = Like.objects.get_or_create(user=request.user, picture_id=picture_id) 
    p = Picture.objects.get(pk=pid) 
    if created: 
     HttpResponseRedirect(reverse('world:url_name')) 
    else: 
     HttpResponseRedirect(reverse('world:url_name')) 

私のURLconfでの支援に感謝\ d +)/ $ '、 ' pet.views.Like '、 名前=' Like ' )、 My boat.html

{% if picture %} 
<ul> 
    {% for pet in picture %} 
    <li><b>description</b> = {{ pet.description}}<br/> 
     {% if pet.image %} 
<li> 
    <a href ="{% url world:Like pet.id %}"> 
     <img src= "{{ pet.image.url }}" style="cursor:pointer"> 
    </a> 
<li> 
     {% endif %} 
{% endfor %} 
</ul> 
{% endif %} 
<a href="{% url world:PictureCreator %}">Add Pictures to your board</a><br/> 

あなたがLike.objectsのpythonにアクセスするために行くとき私のmodels.py

class Picture(models.Model): 
    user = models.ForeignKey(User) 
    board = models.ForeignKey(Board,blank=False,null=False) 
    image = models.FileField(upload_to="images/",blank=True) 
    description = models.TextField() 
    is_primary = models.BooleanField(default=False) 
    def __unicode__(self): 
     return self.description 

class Like(models.Model): 
    user = models.ForeignKey(User) 
    picture = models.ForeignKey(Picture) 
    created = models.DateTimeField(auto_now_add=True)  

答えて

8

あなたのビュー関数名は、関数としてLikeを定義Likeとして定義され、お使いのモデルがLike

命名されそうあなたのモデルは表示されませんLikeしかし、機能はLike

あなたはビューの名前を変更する機能

url(r'^like/(?P\d+)/$', 'pet.views.change_name_no_conflict', name = 'Like') 


def change_name_no_conflict(request,picture_id): 
    pass 
+1

は私を助けてありがとう – donkeyboy72

1

モデル名とビュー名は同じであってはいけません。

0

(追加

from django.contrib.auth import get_user_model 
User = get_user_model 

を行うとき、私はこれと同じエラーを得た)は、エラーを解決:

from django.contrib.auth import get_user_model 
User = get_user_model() 
関連する問題