Django评级模型与m2m

时间:2017-11-03 16:11:56

标签: python django

我对我的django模特感到困惑, 我的模特:

   
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
    picture = models.ImageField(upload_to="photos/", default="photos/none/default.png")
    film = models.ManyToManyField(Film)

class Film(models.Model):
    title = models.CharField(max_length=60)
    year = models.IntegerField(choices=YEARS)
    image = models.ImageField(upload_to="images/", default="images/none/blank_poster.jpg")

    def __str__(self):
        return self.title

现在我试图对我的电影进行评级,当用户在他的列表中添加电影时。 我尝试过M2M,但这并不是我想要的,因为用户可以多次添加相同的胶片,而另一个问题是从列表中删除单个胶片。 现在我想到这样的其他模型:

   
class FilmRating(models.Model):
    user = models.ForeignKey(User)
    film = models.ForeignKey(Film)
    rate = models.IntegerField(choices=CHOICES)

我很高兴如果你能指出我解决这个问题的正确方法,将来我希望能够存储用户对设定平均费率的所有评分。

0 个答案:

没有答案