值[...]不是一个有效的选择,django-updown

时间:2012-06-15 12:04:00

标签: django django-models updown

我正在尝试实现django-updown https://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)

你知道可能出现什么问题吗?

2 个答案:

答案 0 :(得分:3)

您的分数字段是SmallIntegerField,因此请尝试在选择元组中使用整数而不是字符串,它应该有效:

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

答案 1 :(得分:0)

最后,没有解决方案,所以我安装了django-ratings https://github.com/dcramer/django-ratings,它运行正常。因此,如果您遇到此类问题,我建议您使用此应用程序。