Queryset没有属性创建者

时间:2015-09-12 15:55:25

标签: django django-queryset

我还是我一次。 上传照片时发生错误。 我有这个模特:

class UserPhoto(models.Model): 
    image = models.ImageField(upload_to='user/photos/%Y/%m/%d', blank=True)
    photo_book = models.ForeignKey(UserPhotoBook, related_name='user_photo_book')
    creator = models.ForeignKey(UserProfile)
    title = models.CharField(max_length=100, blank=True)
    created = models.DateTimeField(default=datetime.now)
    likes = models.IntegerField(default=0)

这是视图

@login_required(login_url='/quaba/login/')
    def photo_view(request, photo_id):
        user = UserProfile.objects.get_profile_user(request.user.email)
        photobook = UserPhotoBook.objects.get(user=user)
        photo = UserPhoto.objects.get_photo(photobook, photo_id)
        all_comments = UserPhotoComment.objects.filter(photo=photo)
        if photo.creator.email != user.email:
            pcr = False
        else:
            pcr = True
        return render_to_response('social_network/photos/photo_view.html',
                                 {'photo': photo, 'pcr': pcr, 'comm':    all_comments},
                                 context_instance=RequestContext(request))

错误是:''QuerySet'对象没有属性'creator''

我不知道它为什么会失败,因为'creator'字段在我的模型中,我删除了数据库文件,重新同步数据库并仍然抛出此错误。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您的问题是来自get_photo的经理的UserPhoto未返回对象,而是返回QuerySet。可能您正在执行filter并获得更多结果。