Bu davranışı gözlemledim ve tam olarak anlamadım.Django: prefetch_related/select_related ile birlikte değerler_listesindeki değerin olup olmadığını kontrol edin
result = model.objects.all()
result_pks = result.values_list("id",flat=True)
print result_pks
Ve olsun:
val = 2
print val in result_pks
Bu:
[1,2,3,4]
Sonra belli bir değer pks listesinde olup olmadığını kontrol etmek istiyorum döndü ben bir sorgu yapmak diyelim True döndürecektir, ancak bunun yerine sonucu değiştirirseniz:
Hala alıyorum:
[1,2,3,4]
Ama ne zaman:
val=2
print val in result_pks
Ben False olsun. Bunun yerine select_related kullanmayı denedim ve beklediğim gibi True döndürdü. Birisi bana neden farkı açıklayabilir?
Hangi Django sürümünü kullanıyorsunuz? –