0

このアプリのドキュメントで提供されている例を使用してみました。

彼らの例: 投票の追加も簡単です: 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)
4

1 に答える 1

1

に慣れていませんが、クラス自体ではなく、クラスのインスタンスで をdjango-ratings呼び出す必要があるようです。rating.addUbicacion

最初にインスタンスを作成します。

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

次に、django-ratingsドキュメントによると、次のように呼び出すことができますadd

myinstance.rating.add(score=1, user=request.user, ip_address=request.META['REMOTE_ADDR'])
于 2014-04-12T00:55:31.600 に答える