Guest User

Untitled

a guest
Apr 23rd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. from django.db import models
  2. from datetime import date
  3.  
  4. from django.contrib.postgres.fields import ArrayField
  5. from django.contrib.auth.models import UserManager # django default manager, since no custom user fields
  6.  
  7. class User(models.Model):
  8. #id
  9. name = models.CharField(max_length=200)
  10. email = models.EmailField()
  11. followed_users = ArrayField(models.IntegerField())
  12. friends_list = ArrayField(models.IntegerField())
  13. movies_wanting_to_see = ArrayField(models.IntegerField())
  14.  
  15. def __str__(self):
  16. return self.name
  17.  
  18. def getMoviesReviewed():
  19. pass
  20.  
  21.  
  22.  
  23. class Movie(models.Model):
  24. MOVIE_CATEGORIES = (
  25. ('C', 'Comedy'),
  26. ('D', 'Documentary'),
  27. ('H', 'Horror'),
  28. ('RC', 'Romantic Comedy'),
  29. ('SF', 'Sci-Fi'),
  30. ('D', 'Drama'),
  31. ('Cl', 'Classic'),
  32. ('CC', 'Cult Classic'),
  33. )
  34.  
  35. added = models.DateTimeField(auto_now_add=True)
  36. title = models.CharField(max_length=200)
  37.  
  38. rotten_tomatoes_score = models.PositiveSmallIntegerField()#TODO max=100)
  39. imdb_score = models.PositiveSmallIntegerField(default=0)
  40. genre = models.CharField(choices=MOVIE_CATEGORIES, max_length=2, default='D')
  41.  
  42. def __str__(self):
  43. return self.title
  44.  
  45. def getUsersAverageRating(self):
  46. pass
  47.  
  48. class Review(models.Model):
  49. movie = models.ForeignKey(Movie, on_delete=models.CASCADE)
  50. reviewer = models.ForeignKey(User, on_delete=models.CASCADE)
  51. rating = models.SmallIntegerField#(max=10)
  52. #different default methods have different meanings for textFields
  53. #Nullable if no value db stored as Null, blank=True allows form fields to be blank, and default=""
  54. comment = models.TextField(blank=True, default='', max_length=1000)
  55. reviewed_on = models.DateField(auto_now_add=True)
  56.  
  57. def __str__(self):
  58. return "{} was given a {} by {}.".format(self.movie, self.rating, self.reviewer)
Add Comment
Please, Sign In to add comment