次のような Django モデルがあります。
class Topic(models.Model):
name=models.CharField(db_index=True,max_length=30)
categorykey=models.ForeignKey(Category)
class Category(models.Model):
categorykey=models.CharField(db_index=True,max_length=30)
relatedcategories=models.ManyToManyField("Category",symmetrical=False)
カテゴリには、関連するカテゴリを含めることができます。たとえば、カテゴリが「獣医」の場合、関連するカテゴリは「動物」、「医学」などになる可能性があります。カテゴリ内のすべてのトピックを検索したいのですが、それは関連するカテゴリです。
その方法がわかりません。次のようなものが必要だと思います。
categorykey="Vet"
topics=list(Topic.objects.filter(categorykey__relatedcategories__in=categorykey))
しかし、それは単にエラーをスローします。何か案は?