Advertisement
Guest User

Untitled

a guest
May 5th, 2018
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.06 KB | None | 0 0
  1. from uuid import uuid4
  2.  
  3. from django.contrib.contenttypes.fields import GenericForeignKey, ContentType
  4. from django.db import models
  5.  
  6.  
  7. class User(models.Model):
  8.     """
  9.    User model
  10.    """
  11.     id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
  12.     email = models.EmailField(max_length=255, unique=True)
  13.     password = models.CharField(max_length=255, null=True, default=None)
  14.     ACCOUNT_CHOICE_UNSET = 0
  15.     ACCOUNT_CHOICE_BRAND = 1
  16.     ACCOUNT_CHOICE_CREATOR = 2
  17.     ACCOUNT_CHOICE_AGENCY = 3
  18.     ACCOUNT_CHOICES = (
  19.         (ACCOUNT_CHOICE_UNSET, 'Unset'),
  20.         (ACCOUNT_CHOICE_BRAND, 'Brand'),
  21.         (ACCOUNT_CHOICE_CREATOR, 'Creator'),
  22.         (ACCOUNT_CHOICE_AGENCY, 'Agency'),
  23.     )
  24.     account_type = models.IntegerField(choices=ACCOUNT_CHOICES, default=ACCOUNT_CHOICE_UNSET)
  25.     content_object = GenericForeignKey('content_type', 'email')
  26.     content_type = models.ForeignKey(ContentType, limit_choices_to=ACCOUNT_CHOICES, related_name='user_content_type')
  27.  
  28.     class Meta:
  29.         verbose_name_plural = "Users"
  30.  
  31.     def __str__(self):
  32.         return "%s" % self.email
  33.  
  34.  
  35. class Brand(models.Model):
  36.     """
  37.    Brand model
  38.    """
  39.     id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
  40.     name = models.CharField(max_length=255, null=True, default=None)
  41.     brand = models.CharField(max_length=255, null=True, default=None)
  42.     email = models.EmailField(max_length=255, unique=True)
  43.     phone = models.CharField(max_length=255, null=True, default=None)
  44.     website = models.CharField(max_length=255, null=True, default=None)
  45.  
  46.     class Meta:
  47.         verbose_name_plural = "Brands"
  48.  
  49.     def __str__(self):
  50.         return "%s" % self.brand
  51.  
  52.  
  53. class Creator(models.Model):
  54.     """
  55.    Creator model
  56.    """
  57.     id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
  58.     first_name = models.CharField(max_length=255, null=True, default=None)
  59.     last_name = models.CharField(max_length=255, null=True, default=None)
  60.     email = models.EmailField(max_length=255, unique=True)
  61.     youtube_channel_username = models.CharField(max_length=255, null=True, default=None)
  62.     youtube_channel_url = models.CharField(max_length=255, null=True, default=None)
  63.     youtube_channel_title = models.CharField(max_length=255, null=True, default=None)
  64.     youtube_channel_description = models.CharField(max_length=255, null=True, default=None)
  65.     photo = models.CharField(max_length=255, null=True, default=None)
  66.     youtube_channel_start_date = models.CharField(max_length=255, null=True, default=None)
  67.     keywords = models.CharField(max_length=255, null=True, default=None)
  68.     no_of_subscribers = models.IntegerField(default=0)
  69.     no_of_videos = models.IntegerField(default=0)
  70.     no_of_views = models.IntegerField(default=0)
  71.     no_of_likes = models.IntegerField(default=0)
  72.     no_of_dislikes = models.IntegerField(default=0)
  73.     location = models.CharField(max_length=255, null=True, default=None)
  74.     avg_views = models.IntegerField(default=0)
  75.     GENDER_CHOICE_UNSET = 0
  76.     GENDER_CHOICE_MALE = 1
  77.     GENDER_CHOICE_FEMALE = 2
  78.     GENDER_CHOICES = (
  79.         (GENDER_CHOICE_UNSET, 'Unset'),
  80.         (GENDER_CHOICE_MALE, 'Male'),
  81.         (GENDER_CHOICE_FEMALE, 'Female'),
  82.     )
  83.     gender = models.IntegerField(choices=GENDER_CHOICES, default=GENDER_CHOICE_UNSET)
  84.  
  85.     class Meta:
  86.         verbose_name_plural = "Creators"
  87.  
  88.     def __str__(self):
  89.         return "%s %s" % (self.first_name,self.last_name)
  90.  
  91.  
  92. class Agency(models.Model):
  93.     """
  94.    Agency model
  95.    """
  96.     id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
  97.     name = models.CharField(max_length=255, null=True, default=None)
  98.     agency = models.CharField(max_length=255, null=True, default=None)
  99.     email = models.EmailField(max_length=255, unique=True)
  100.     phone = models.CharField(max_length=255, null=True, default=None)
  101.     website = models.CharField(max_length=255, null=True, default=None)
  102.  
  103.     class Meta:
  104.         verbose_name_plural = "Agencies"
  105.  
  106.     def __str__(self):
  107.         return "%s" % self.agency
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement