0

ここにある djangoratings ライブラリを使用しており、すべてを実行してセットアップしています。私の views.py ファイルには、押されたときにこのコード行を実行するボタンがあります。

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

すべて正常に動作します。バックエンドは機能し、列は投票などで更新されますが、djangoratings の IP および Cookie フィールドと列にアクセス/呼び出して、「追加」行の実行を拒否する簡単な if 条件を作成するにはどうすればよいですか? Cookie と IP は既に投票済みですか?

助けてくれてありがとう。私はこれに本当に苦労してきました。

4

1 に答える 1

1

myinstance.rating にはメソッドが含まれget_ratings()ています - オブジェクトに関連するすべての投票を計算するクエリセットを返します。必要な情報を取得するために簡単に拡張できます。例えば:

# it's lazy object
rating = myinstance.rating.get_ratings()

# do additional query for db
if not rating.filter(user=user, ip_address=request.META['REMOTE_ADDR']).exists():
    ...
于 2014-12-06T09:58:06.270 に答える