2014-04-11 1 views
0

Я попытался использовать пример, который они дали для документации этого приложения.Django-рейтинги: объект 'RatingField' не имеет атрибута 'add'

Их пример: А добавление голосов также просто: Ubicacion.rating.add(score=1, user=request.user, ip_address=request.META['REMOTE_ADDR'])

но он возвращает мне эту ошибку:

'RatingField' object has no attribute 'add' 

И я смотрю в fields.py из приложения, и действительно есть функция «добавить»

Так что я не знаю, почему, когда я создаю объект этого класса, он не распознает атрибуты этого класса?

Это моя модель:

class Ubicacion(models.Model): 
route = models.LineStringField() 
coordsdet = models.LineStringField() 
fecha = models.DateTimeField(auto_now_add=True) 
user = models.ForeignKey(User) 
objects = models.GeoManager() 
rating = RatingField(range=5) 

ответ

1

Не знакомы с django-ratings, но похоже, что вы должны называть rating.add на примере вашего Ubicacion class- не на самом классе.

Сначала нужно создать экземпляр:

myinstance = Ubicacion.objects.create(...) 

Затем, в соответствии с django-ratings документы можно было бы назвать add:

myinstance.rating.add(score=1, user=request.user, ip_address=request.META['REMOTE_ADDR']) 
Смежные вопросы