少なくとも1つのpost
が添付されているすべてのカテゴリを取得するクエリを作成しようとしています。言い換えれば、投稿を持たないカテゴリを「除外」したいのです。 、これは私が私のクエリで使用していたコードであるDjangoでは、ForeignKeyフィールドを使用して関連モデルの他のインスタンスをアタッチしたモデルのインスタンスをすべて取得するにはどうすればよいですか?
class Category(models.Model):
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique=True)
class Post(models.Model):
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique=True)
body = models.TextField()
category = models.ForeignKey(Category, blank=True, default="")
現在、それは何のポストがそれに「取り付けられていない」されている場合でも、すべてのカテゴリをフェッチ:
これらはCategory
とPost
のための私のモデルであり
categories = Category.objects.filter(
# Only ones that have at least one Post that has it's 'category' field set to it.
)
:
categories = Category.objects.all()
は、私が欲しいのはこのようなものです私はドキュメントや他の場所を検索しましたが、解決策を見つけることはできません。
どうすればいいのか教えてください。
'Post'モデルには' Topic'モデルに対する外部キーがあり、それを 'categories'と呼んでいます。私は、この関係が「カテゴリ」モデルでどのように働いているのか分かりません。 – AKS
@AKS混乱して申し訳ありません。トピックのトピックをトピックのカテゴリに置き換えて、私が達成しようとしていたことがより明確になると思った。私はそれを今修正したので、ありがとう。 –
答えを確認してください。 – AKS