0

このようなカテゴリモデルがあります。

class categories(models.Model):
    name=models.CharField(max_length=50,db_index=True)

class tag_relation(models.Model):
    category=models.ForeignKey(categories,db_index=True)
    relation=models.ForeignKey(main_tb,db_index=True,related_name='categoryrelation')

class main_tb(models.Model):
    name=charfield
    img_file=charfield etc..
    location=charfield

次に、特定のカテゴリを選択し、場所を使用してさらにフィルタリングする必要があります。

私がやっていることはこれです。

query=tag_relation.objects.filter(category='1orsomeother').selectrelated('categoryrelation').filter(location='india')

これが正しい方法ではないことはわかっていますが、最高のパフォーマンスを実現するために、どのように結合と検索を行う必要がありますか。

4

1 に答える 1

1

あなたはこれを必要とします:

query = tag_relation.objects.filter(category__id=cat_id, relation__location='india')
于 2013-02-01T17:47:41.483 に答える