text: from django.contrib.auth.models import User
  from django.core.validators import MaxValueValidator, MinValueValidator
  from django.db import models
  
  
  class StreamPlatform(models.Model):
      name = models.CharField(max_length=30)
      about = models.CharField(max_length=150)
      website = models.URLField(max_length=100)
  
      def __str__(self):
          return self.name
  
  
  class WatchList(models.Model):
      title = models.CharField(max_length=50)
      storyline = models.CharField(max_length=200)
      platform = models.ForeignKey(StreamPlatform, on_delete=models.CASCADE, related_name="watchlist")
      active = models.BooleanField(default=True)
      created = models.DateTimeField(auto_now_add=True)
      avg_rating = models.FloatField(default=0)
      number_of_ratings = models.IntegerField(default=0)
  
      def __str__(self):
          return str(self.id) + " - " + self.title 
  
  
  class Review(models.Model):
      review_user = models.ForeignKey(User, on_delete=models.CASCADE)
      rating = models.PositiveIntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)])
      description = models.CharField(max_length=200, null=True)
      active = models.BooleanField(default=True)
      created = models.DateTimeField(auto_now_add=True)
      updated = models.DateTimeField(auto_now=True)
      watchlist = models.ForeignKey(WatchList, on_delete=models.CASCADE, related_name="reviews")
  
  
      def __str__(self):
          return str(self.rating) + " | " + self.watchlist.title + " | " + str(self.review_user)
  