は、ユーザーが自分の関連オブジェクト `キッドをフィルタリングすることによりParent
オブジェクトのリストにアクセスできるようにすることです」FilterオブジェクトそのすべてのForeignKeyが辞書にある場合、私は必要なもの
我々は100の子供を持っている辞書を持っています。平均して約5人の子供を持つ両親。
親オブジェクトの1つの子供がすべて辞書に入っていて、それらをリストにしたい場合。 しかし、すべての子供が親オブジェクトに関連している必要はありません。
例えば、親がいない辞書と1にある4人の子供を持っている場合。次にそれらを含めないでください。
class Parent(models.Model):
title = models.CharField(max_length=250)
address = models.CharField(max_length=250)
class Kid(models.Model):
family = models.ForeignKey(Parent)
name = models.CharField(max_length=250)
age = models.IntegerField()
city = models.CharField(max_length=250)
Views.py:
def index(request):
patterns = [
{'name': 'samy', 'age__lt': 15, 'city': 'paris'},
{'name': 'sally', 'age__gt': 20, 'city': 'london'}
]
filter_q = reduce(operator.or_, map(lambda p: Q(**p), patterns))
filter_ids = Kid.objects.filter(filter_q).values_list('family__id', flat=True).distinct()
exclude_ids = Kid.objects.exclude(filter_q).values_list('family__id', flat=True).distinct()
parents = Parent.objects.filter(id__in=filter_ids).exclude(id__in=exclude_ids)
template = 'index.html'
context = {'parents': parents}
return render(request, template, context)
はので、私の現在のビュー機能を上記に示した
は私が
models.py以下のコードを持っています。すべての子供は1親になければならない!
助けてください!ここで
100人の子供たちと辞書はありますか?この例では – 2ps
は存在しません。私は、オブジェクトが、私はあなたの質問は、あなたがすでに「100を持っている辞書を持っていることを述べたようにそれが聞こえたので、私は本当にあなたの質問を理解していないと思い – DjangoGuy
によってフィルタリングされたいアイテムのリスト/辞書を作りたい意図しました子供。 "申し訳ありません。がんばろう! – 2ps