4
docs에 따르면 쿼리 세트는 list()가 호출 될 때 평가됩니다.목록/튜플에 쿼리를 추가하지 않고 쿼리 세트를 추가합니다.
모델 개체 대신 쿼리/집합에 목록/튜플을 추가하는 방법이 있습니까? list()는리스트/튜플에 대한 모든 연산을 호출합니까?
예컨대 :
이 더 이상 true 또는 아마도 당신은 요소의 유형을 확인했던 방법은 실수 평가를 트리거 한 중 하나입니다foo= Foo.objects.all()
bar = Bar.objects.filter(enabled=True)
my_list = []
my_list.append(foo) <-- evaluates
my_list.extend(foo) <-- evaluates
my_tuple =()
my_tuple = my_tuple + (foo,) <-- evaluates
# so I'm getting
[<Foo: ModelDescription>,<Foo: ModelDescription>,<Bar: ModelDescription>]
#but I want
[<Queryset: Foo>, <Queryset:Bar>]
첫 번째와 세 번째 질문이 확실한가요? 그들은해서는 안됩니다. –
그들은 능동적 인 인터프리터 쉘에서만 평가한다고 생각합니다. – Jingo
예, 그들은 그랬습니다. 뷰 함수에 코드를 넣으면 문제가 해결되었습니다. – Jannis