That get_photo func, I'm not using it. It tried to do something and I 
forgot to delete it.
About screenshotting the code, I thought that it was more clarifying.

class ProfileManager(models.Manager):
    use_for_related_fields = True

    def all(self):
        qs = self.get_queryset().all()
        try:
            if self.instance:
                qs = qs.exclude(user=self.instance)
        except:
            pass
        return qs

    def toggle_follow(self, user, to_toggle_user):
        user_profile = user.profile
        if to_toggle_user in user_profile.following.all():
            user_profile.following.remove(to_toggle_user)
            adedd = False
        else:
            user_profile.following.add(to_toggle_user)
            adedd = True
        return adedd

    def is_following(self, user, followed_by_user):
        user_profile = user.profile
        if followed_by_user in user_profile.following.all():
            return True
        return False


class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, 
on_delete=models.CASCADE)
    following = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, 
related_name='followed_by')
    date_of_birth = models.DateField(blank=True, null=True)
    city = models.CharField(max_length=50, blank=True, null=True)
    country = models.CharField(max_length=50, blank=True, null=True)
    education = models.CharField(max_length=150, blank=True, null=True)
    photo = models.ImageField(upload_to='profile photos/', blank=True, 
null=True)

    objects = ProfileManager()

    def __str__(self):
        return 'Profile for user {}'.format(self.user.username)

    def get_following(self):
        users = self.following.all()
        return users.exclude(username=self.user.username)

    @receiver(post_save, sender=User)
    def create_or_update_user_profile(sender, instance, created, *args, 
**kwargs):
        if created:
            Profile.objects.create(user=instance)

            instance.profile.save() 

class Post(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL)
    profile = models.ForeignKey(Profile)
    title = models.CharField(max_length=200)
    content = models.TextField()
    image = models.FileField(upload_to='posts/', blank=True)
    created = models.DateTimeField(auto_now_add=True, db_index=True)
    modified = models.DateTimeField(auto_now=True)
    slug = models.SlugField(unique=True)
    likes = models.PositiveIntegerField(default=0)

    @property
    def total_likes(self):
        return self.likes.count()

    def __str__(self):
        return self.title

    class Meta:
        ordering = ["-created"]

    def get_absolute_url(self):
        return reverse("detail", kwargs={"slug": self.slug})

    def _get_unique_slug(self):
        slug = slugify(self.title)
        unique_slug = slug
        num = 1
        while Post.objects.filter(slug=unique_slug).exists():
            unique_slug = '{}-{}'.format(slug, num)
            num += 1
        return unique_slug

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = self._get_unique_slug()
        super(Post, self).save()


This is copy/pasting it :)
I still need to make that queryset to show a list of posts the users that I 
follow(and myself) with Profile combined or showing the post.content and 
profile.photo. 



On Thursday, December 22, 2016 at 2:26:36 PM UTC+1, Melvyn Sopacua wrote:
>
> Hi, 
>
> not sure why you're screenshotting code instead of copying it...makes it 
> harder to point you at the mistake. 
>
> On Wednesday 21 December 2016 14:33:58 skerdi wrote: 
> > *In a  post list I've shown only the users posts that I follow but I'm 
> > not able to display their photo. * 
>
> in Profile.get_photo() you set users to self.photo. I don't think you 
> wanted to do that. 
>
> -- 
> Melvyn Sopacua 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/b86e2526-8ade-4f5c-9ddf-e3cca81150cd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to