django でフィルターをさまざまな方法で使用できます。
My_pack.objects.get は 1 つのインスタンスのみをもたらします。複数のインスタンスがここに存在する場合、エラーが発生します。したがって、これを try except ブロックで囲む必要があります。
pack = My_pack.objects.get(group__icontains='System')
一方で
My_pack.objects.filter は複数のインスタンスを取得し、インスタンスが見つからない場合は空のリストを取得します[]
pack = My_pack.objects.filter(group__startswith='System')
という名前のショートカット機能の 1 つを使用することもできますget_object_or_404
。これは get と同様に機能します。違いは、try except ブロックで囲む必要がないことです。インスタンスを取得すると、戻り値としてインスタンスが返されますが、インスタンスが見つからない場合は、404 ステータス メッセージがスローされます。
pack = get_object_or_404(My_pack, group__startswith='System')