user13714701
user13714701

Reputation:

Model querys Django

i have this model with the following relation.

from django.db import models
from django.contrib.auth.models import User


class UserModel(models.Model):

    user = models.OneToOneField(
        User, on_delete=models.CASCADE, blank=True, null=True)


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


class BlogModel(models.Model):

    user = models.ForeignKey(
        UserModel, on_delete=models.SET_NULL, null=True, blank=True)
    title = models.CharField(max_length=200, null=True, blank=True)
    body = models.CharField(max_length=1000, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return str(self.user) + ", " + str(self.title)

How do i query every blogpost a paticular user had made? Thanks in advance for the answer!

Upvotes: 1

Views: 30

Answers (1)

willeM_ Van Onsem
willeM_ Van Onsem

Reputation: 477607

You can look "through" a relation with double underscores (__), so you can query with:

BlogModel.objects.filter(user__user=user_object)

so if you want to display the BlogModels for the logged in user, you replace user_object with request.user.

Upvotes: 1

Related Questions