Django-ratings:'RatingField'对象没有'add'属性

0 投票
1 回答
800 浏览
提问于 2025-04-18 02:26

我试着用这个应用的文档里给的例子。

他们的例子是:添加投票也很简单:

Ubicacion.rating.add(score=1, user=request.user, ip_address=request.META['REMOTE_ADDR'])

但是我得到了这个错误:

 'RatingField' object has no attribute 'add'

我查看了这个应用的fields.py文件,确实有一个叫“add”的函数。

所以我不明白为什么当我创建这个类的对象时,它不识别这个类的属性?

这是我的模型:

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 个回答

1

我对 django-ratings 不是很熟悉,但看起来你应该在你的 Ubicacion 类的一个实例上调用 rating.add,而不是直接在类上调用。

首先,创建一个实例:

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

然后,根据 django-ratings 的文档,你可以调用 add

myinstance.rating.add(score=1, user=request.user, ip_address=request.META['REMOTE_ADDR'])

撰写回答