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.