Я пытаюсь и не могу заставить django-voice работать для моего приложения django.Как только голос сделан, ничто не может быть изменено, иначе ошибка SQL.Также после добавления голосования это не обновляет счет модели.Кажется, приложение не работает, так как я не могу найти больше информации о том, что я делаю неправильно.
Вот мои настройки:
#products.models.py
from vote.models import VoteModel
from django.db import models
class tags(VoteModel, models.Model):
name = models.CharField(max_length=50, unique=True)
class gymproduct(models.Model):
tags = models.ManyToManyField(tags, blank=True)
....
Я хочу, чтобы пользователи голосовали за определенные теги для гиппродукта.Я могу добавить тег без проблем.Но когда я пытаюсь использовать API для Django-голосования, кажется, что все работает не так, как рекламируется.Например:
#debugsqlshell
from products.models import *
from profiles.models import Profile #my custom user model
firsttag = tags.objects.first()
user = Profile.objects.first()
firsttag.votes.up(user.id) #This returns true.
firsttag.vote_score #This should return one, but returns 0, did the previous vote not count?
firsttag.num_vote_up #This should return one, but returns 0???
firsttag.votes.down(user.id)
# This breaks sql with the error:
# IntegrityError: new row for relation "products_tags" violates check
# constraint "products_tags_num_vote_down_check"
Я не знаю, почему я получаю эту ошибку IntegrityError (я использую postgres).Не уверен, что я могу делать неправильно.Я попытался сохранить метку, я попытался добавить VoteModel в сквозную модель многих отношений.Оба результата дают одинаковый результат.Кто-нибудь знает больше об этом пакете?Или я должен сам попытаться написать функцию голосования с нуля?
Это мой первый пост на stackoverflow.Надеюсь, я не сделал ничего плохого.