5
class Blog(models.Model):
    name = models.CharField(max_length=100)

class Entry(models.Model):
    blog = models.ForeignKey(Blog)
    headline = models.CharField(max_length=255)

次のクエリは正しいですか?

a = Blog.objects.get(id__exact=14)
b = Entry.objects.filter(blog = a)

次の方法のいずれかがよりエレガントであり、推奨されることさえあることを理解しています。

Entry.objects.filter(blog__id__exact=3) # Explicit form
Entry.objects.filter(blog__id=3)        # __exact is implied
Entry.objects.filter(blog__pk=3)        # __pk implies __id__exact

つまり、引数値としてオブジェクト (モデル インスタンス) を渡すことはできますか?

また、これに関する明示的なドキュメントをどこで見つけることができるかについてのガイダンスを提供してください。

4

2 に答える 2

4

はい、djangoのドキュメントによると; 行のインスタンスを使用してフィルターを実行できます。

関連オブジェクトに対するクエリ

于 2012-07-01T05:33:51.543 に答える
1

別:

a = Blog.objects.get(pk=3)
b = a.blog_set.all()
于 2012-07-01T11:33:29.090 に答える