0

ドキュメントによると、これはかなり簡単です:

class Article(models.Model):
    headline = models.CharField(max_length=200)
    # ...
    site = models.ForeignKey(Site)

しかし、追加のモデルがある場合はどうなりますか? すなわち:

class ArticleAttachment(models.Model):
    file = models.FileField(upload_to="foo/bar")
    # ...

ArticleAttachment() はすでに記事に関連付けられています (サイトに関連付けられています)。サイトに外部キーを追加する必要がありますか? はい/いいえの場合、その理由は?

(性能には問題ありません。)

どうも。

4

1 に答える 1

2

たとえば、すべての記事の添付ファイルを特定の で表示したい場合にのみ、冗長な外部キーを追加するとパフォーマンスが向上siteします。それ以外の場合 (特に、パフォーマンスをまったく気にしない場合)、実際には役に立たず、「メンテナンス」作業が増えるだけです。siteを使用して、添付ファイルの にいつでもアクセスできます。

attachment.article.site

を使用してフィルタリングします

.filter(article__site="...")

したがって、この追加のデータベース フィールドでのみ機能する洗練されたクエリが他にない場合は、それを削除します。

于 2012-01-09T13:16:53.477 に答える