Значение [...] недопустимо, django-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 ответа
Решение
В конце концов, решения для этого не было, поэтому я установил django-рейтинги https://github.com/dcramer/django-ratings и он отлично работает. Так что если у вас есть такая проблема, я рекомендую это приложение.
Ваше поле для оценки SmallIntegerField
поэтому попробуйте использовать целые числа вместо строк в ваших кортежах выбора, и это должно работать:
_SCORE_TYPE_CHOICES = (
(-1, 'DISLIKE'),
(1, 'LIKE'),
)