Вы должны либо перейти с помощью сквозного поля, например:
class Story(models.Model):
rates = models.ManyToManyField(User, through=Rating)
class Rating(models.Model):
rate = models.FloatField(validators=[MinValueValidator(0.0), MaxValueValidator(10.0)])
story = models.ForeignKey(Story, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
, или вы можете сделать это по-своему, используя отдельную модель, в которой в этом случае либо вы должны удалить поле rate
из * 1005.* моделируйте или удаляйте поле story
из Rating
модели:
class Story(models.Model):
...
# rate = models.(help here) No need anymore
class Rating(models.Model):
rate = models.FloatField(validators=[MinValueValidator(0.0), MaxValueValidator(10.0)])
story = models.ForeignKey(Story, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
, и ваш набор запросов будет выглядеть примерно так:
story.rating_set.all()
, который будет включать все оценки длявыбранный экземпляр истории.