I have checked my models, my views and the django builtin views that are being used at sign in and nowhere is id being requested, yet I still get the error “Field ‘id’ expected a number but got <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x0000024522323CB0>>”
Also previously when there was no authenticated user it would just default to the login page. This error happened randomly and I can’t fix it.
I did try cloning an older version from github and it also started giving the same errors, python and django versions are the same.
class Profile(models.Model):
user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE)
image = models.ImageField(upload_to="profile_pciture", null=True, default="default.jpg")
first_name = models.CharField(max_length=200, null=True, blank=True)
last_name = models.CharField(max_length=200, null=True, blank=True)
bio = models.CharField(max_length=200, null=True, blank=True)
location = models.CharField(max_length=200, null=True, blank=True)
url = models.URLField(max_length=200, null=True, blank=True)
favourite = models.ManyToManyField(Post, blank=True)
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
def __str__(self):
return f'{self.user.username} - Profile'
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
output_size = (300, 300)
img.thumbnail(output_size)
img.save(self.image.path)
def create_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
def save_user_profile(sender, instance, **kwargs):
instance.profile.save()
def UserProfile(request, username):
print(request.user)
print('asdfvbn')
Profile.objects.get_or_create(user=request.user)
user = get_object_or_404(User, username=username)
profile = Profile.objects.get(user=user)
url_name = resolve(request.path).url_name
posts = Post.objects.filter(user=user).order_by('-posted')
if url_name == 'profile':
posts = Post.objects.filter(user=user).order_by('-posted')
else:
posts = profile.favourite.all()
# Profile Stats
posts_count = Post.objects.filter(user=user).count()
close= CloseFrens.objects.all()
following_count = Follow.objects.filter(follower=user).count()
followers_count = Follow.objects.filter(following=user).count()
# count_comment = Comment.objects.filter(post=posts).count()
follow_status = Follow.objects.filter(following=user, follower=request.user).exists()
# pagination
paginator = Paginator(posts, 8)
page_number = request.GET.get('page')
posts_paginator = paginator.get_page(page_number)
context = {
'posts': posts,
'profile':profile,
'posts_count':posts_count,
'following_count':following_count,
'followers_count':followers_count,
'posts_paginator':posts_paginator,
'follow_status':follow_status,
# 'count_comment':count_comment,
}
return render(request, 'profile.html', context)