我正在尝试实现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)
你知道可能出现什么问题吗?
答案 0 :(得分:3)
您的分数字段是SmallIntegerField
,因此请尝试在选择元组中使用整数而不是字符串,它应该有效:
_SCORE_TYPE_CHOICES = (
(-1, 'DISLIKE'),
(1, 'LIKE'),
)
答案 1 :(得分:0)
最后,没有解决方案,所以我安装了django-ratings https://github.com/dcramer/django-ratings,它运行正常。因此,如果您遇到此类问题,我建议您使用此应用程序。