如果用户选择产品子类别为私家车,选择州为安达曼和尼科巴群岛,我只想显示那些在产品子类别和州中都匹配的唯一RTO。
查看:
product_sub_cat_data = ProductSubCategory.objects.filter(
product_sub_category=selected_sub_product_array[2].strip(),
product=product_data[0].id
)
state_data = State.objects.filter(state=selected_state)
rto_grouping_data = RtoGrouping.objects.filter(
product_sub_category=product_sub_cat_data[0].id,
group__rto_state=state_data[0].id).distinct()
获取输出为:
AN01、AN02、DD02、DD03、LD01、PY01、PY02、PY03、PY04、UP14、UP16、DN09、UP61、DD09、UP05、UP07、UP10、UP06、UP08、UP04、UP09、DN13、UP38、LD02 ,LD03 , LD04, LD05, LD07, LD08, LD09, PY05
虽然期望的输出是:
AN01、AN02
(因为只有这2个RTO属于安达曼和尼科巴群岛)
我的4个型号:
class ProductSubCategory(models.Model):
product_sub_category = models.CharField(max_length=256)
product = models.ForeignKey(Product, on_delete=models.PROTECT)
class RtoGrouping(models.Model):
insurer = models.ForeignKey(Company, null=True,
on_delete=models.PROTECT)
group_name = models.CharField(max_length=256)
group = models.ManyToManyField(Rto, related_name='group')
product_sub_category = models.ForeignKey(ProductSubCategory,
on_delete=models.PROTECT)
class Rto(models.Model):
rto = models.CharField(unique=True, max_length=10)
rto_state = models.ForeignKey(
State, on_delete=models.PROTECT, related_name='rto_city')
class State(models.Model):
state = models.CharField(max_length=100, unique=True)