I have the following models:
class Indicator(models.Model):
name = models.CharField(max_length=200)
category = models.ForeignKey(IndicatorCategory)
weight = models.IntegerField()
industry = models.ForeignKey(Industry)
def __unicode__(self):
return self.name
class Meta:
ordering = ('name',)
class IndicatorRatingOption(models.Model):
indicator = models.ForeignKey(Indicator)
description = models.TextField()
value = models.FloatField(null=True)
def __unicode__(self):
return self.description
class Rating(models.Model):
product = models.ForeignKey(Product, null=True)
company = models.ForeignKey(Company, null=True)
rating_option = models.ForeignKey(IndicatorRatingOption)
value = models.IntegerField(null=True)
What I need to do is get all of the company rating options of two companies without having them overlap on their Indicators (rating.rating_option.indicator
). If there's a conflict, company 'a' would always win over company 'b'. How do I do this?
This works:
Rating.objects.filter(company__in=[company_a, company_b]).distinct()
(Original answer)
Did you try
IndicatorRatingOptions.objects.filter(company__in=[company_a, company_b]).distinct()
?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With