Пример #1
0
class Pet(models.Model):
    DOG = 'dog'
    CAT = 'cat'
    PARROT = 'parrot'
    UNKNOWN = 'unknown'

    PET_TYPES = (
        (DOG, 'Dog'),
        (CAT, 'Cat'),
        (PARROT, 'Parrot'),
        (UNKNOWN, 'Unknown'),
    )

    type = models.CharField(max_length=7, choices=PET_TYPES, default=UNKNOWN)
    name = models.CharField(max_length=6, blank=False)
    age = models.IntegerField(blank=False)
    description = models.TextField(blank=False)
    # image = models.ImageField(
    #     upload_to='pets',
    # )

    image = cloudinary_models.CloudinaryField('image')
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)

    def __str__(self):
        return f'{self.id}; {self.name}; {self.age}'
Пример #2
0
class Recipes(models.Model):
    title = models.CharField(max_length=30)
    image = cloudinary_models.CloudinaryField("image")
    description = models.TextField()
    ingredients = models.CharField(max_length=250)
    time = models.IntegerField()
    timestamp = models.DateTimeField(default=datetime.now)
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)

    def __str__(self):  # for Django admin
        return f'{self.id}; {self.title}; {self.user}'
Пример #3
0
class Images(models.Model):
    imgType = (('0', 'Profile Pic'), ('1', 'Post Pic'), ('2', 'Article Pic'),
               ('3', 'Banner Pic'))
    user = models.ForeignKey(UserExtend,
                             on_delete=models.CASCADE,
                             related_name='images')
    img = cmodels.CloudinaryField('image')
    img_type = models.CharField(max_length=1, choices=imgType, default='1')
    datetime = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.img.public_id
class Lesson(models.Model):
    title = models.CharField(max_length=30)
    content = models.TextField()
    subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
    teacher = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
    )
    # image = models.ImageField(
    #     upload_to='lesson_pics/',
    #     blank=True,
    #     default='',
    # )
    image = cloudinary_models.CloudinaryField('image')

    def __str__(self):
        return self.title
class User(AbstractUser):
    is_student = models.BooleanField(default=False)
    is_teacher = models.BooleanField(default=False)

    school = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    # date_of_birth = models.DateField(blank=True, default='0000-00-00')

    # profile_picture = models.ImageField(
    #     upload_to='profile_pics/',
    #     blank=True,
    #     default='',
    # )

    profile_picture = cloudinary_models.CloudinaryField('image', blank=True)

    def __str__(self):
        return self.username
Пример #6
0
class Game(models.Model):
    developer = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=150)
    url = models.URLField()
    cover = cloudinary_models.CloudinaryField("cover", blank=True)
    price = models.IntegerField(default=0)
    tags = models.ManyToManyField(Tag, blank=True, verbose_name="Tags")
    created = models.DateTimeField(editable=False)

    def get_absolute_url(self):
        return reverse('game', args=[str(self.id)])

    def save(self, *args, **kwargs):
        if not self.id:
            # If the object is created, its creation date is set
            self.created = timezone.now()
        return super(Game, self).save(*args, **kwargs)

    def __str__(self):
        return self.name
Пример #7
0
class Profile(models.Model):
    user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
    image = cloudinary.CloudinaryField('image')
    google_image = models.CharField(max_length=255, null=True)
    favorites = models.ListField(default=[])
    location = models.EmbeddedModelField(
        model_container=Location,
    )
    google_id = models.CharField(max_length=255, null=True)
    access_token = models.CharField(max_length=255, null=True)
    refresh_token = models.CharField(max_length=255, null=True)

    def get_image(self):
        if self.image:
            return self.image.url
        else:
            return self.google_image

    objects = models.DjongoManager()

    def __str__(self):
        return self.user.username
class Product(models.Model):
    image = cloud_models.CloudinaryField('image')
Пример #9
0
class Post(models.Model):
    POST_VISIBILITY_CHOICE = (('1', 'Public'), ('2', 'Only folowers'),
                              ('3', 'Private'))
    DEFAULT_TOPIC = 1

    title = models.CharField(max_length=300)
    sub_title = models.CharField(max_length=150, blank=True)
    head_img = cmodels.CloudinaryField('images')
    content = models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    updated_on = models.DateTimeField(auto_now=True)
    draft = models.BooleanField(default=False)
    upvote = models.PositiveIntegerField(default=0)
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             on_delete=models.CASCADE)
    visibility = models.CharField(max_length=1,
                                  choices=POST_VISIBILITY_CHOICE,
                                  default='1')
    post_tags = models.CharField(max_length=255,
                                 help_text='Tags seperated with a space')
    post_topic = models.CharField(max_length=1,
                                  choices=POST_TOPICS,
                                  default='0')

    def __str__(self):
        return self.title

    def add_upvote(self, username):
        self.upvote = models.F('upvote') + 1
        PostLikers.objects.create(post=self, user=username)
        self.save()

    def remove_upvote(self, username):
        self.upvote = F('upvote') - 1
        PostLikers.objects.filter(post=self, user=username).delete()
        self.save()

    def all_likers(self):
        l = [i.users_id for i in self.likers.all()]
        return l

    def get_read_time(self):
        time = len(strip_tags(self.content).split(' ')) / 255
        return round(time)

    def get_comments_count(self):
        return len(self.comment_set.all())

    def get_short_story(self):
        return strip_tags(self.content)[:200] + '...'

    def save(self):
        super().save()
        followers = self.user.userextend.get_followers()
        text = self.user.get_full_name() + " just posted."
        print(followers)
        for u in followers:
            if self.created_on == self.updated_on:
                Notice.objects.create(user=u.current_user,
                                      sender=self.user,
                                      text=text,
                                      category='1',
                                      c_id=self.pk)
Пример #10
0
class ImageAttach(models.Model):
    image = clm.CloudinaryField('image')
    place = models.ForeignKey(ProtoPlace,
                              to_field='event_id',
                              on_delete=models.CASCADE,
                              related_name='images')
Пример #11
0
class UserProfile(models.Model):
    profile_picture = cloudinary_models.CloudinaryField("image")
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.user.username