0

django-updownhttps://github.com/weluse/django-updownを実装しようとしています。管理パネルから投票を追加しようとすると、値1は有効な選択ではないと表示されます。

これは、アプリケーションのmodels.pyです。

_SCORE_TYPE_CHOICES = (
('-1', 'DISLIKE'),
('1', 'LIKE'),
)

SCORE_TYPES = dict((value, key) for key, value in _SCORE_TYPE_CHOICES)

class Vote(models.Model):
    content_type = models.ForeignKey(ContentType, related_name="updown_votes")
    object_id = models.PositiveIntegerField()
    key = models.CharField(max_length=32)
    score = models.SmallIntegerField(choices=_SCORE_TYPE_CHOICES)
    user = models.ForeignKey(User, blank=True, null=True, related_name="updown_votes")
    ip_address = models.IPAddressField()
    date_added = models.DateTimeField(default=datetime.datetime.now, editable=False)
    date_changed = models.DateTimeField(default=datetime.datetime.now, editable=False)

何が間違っているのか分かりますか?

4

2 に答える 2

3

スコアフィールドはSmallIntegerFieldなので、選択タプルで文字列の代わりに整数を使用してみてください。これで機能するはずです。

_SCORE_TYPE_CHOICES = (
    (-1, 'DISLIKE'),
    (1, 'LIKE'),
)
于 2012-06-15T12:14:31.870 に答える
0

最後に、これに対する解決策がなかったので、django-ratings https://github.com/dcramer/django-ratingsをインストールしましたが、正常に動作します。したがって、このような問題が発生した場合は、このアプリケーションをお勧めします。

于 2012-06-21T09:13:57.030 に答える