Jason Howard
Jason Howard

Reputation: 1586

Obtaining queryset based on unrelated models

I've got the following models. I need to obtain a queryset of orders where the user's userprofile.setupstatus == 1. Is this possible or should I just add a foreign key field on the Order model to the UserProfile?

class Order(models.Model):
    user = models.ForeignKey(UserCheckout, null=True, on_delete=models.CASCADE)

class UserCheckout(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True, blank=True)

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)                                    
    setupstatus = models.IntegerField(default=0)

Upvotes: 0

Views: 76

Answers (1)

Mehak
Mehak

Reputation: 961

It is surely possible with Django ORM

Your query should look somewhat like this

Order.objects.filter(user__user__userprofile__setupstatus=1)

Upvotes: 1

Related Questions