Django uygulamalarından birinde iki veritabanı motoru A ve B kullanıyoruz, her ikisi de aynı veritabanında ancak farklı şemalarla. Her iki şemada C adında bir tablo var ama her zaman veritabanı B'ye işaret etmek için db yönlendirme kullanıyoruz. A modellerinden birinden bir valuelist queryset oluşturduk, filtre koşulunu __in
kullanarak C tablosunda aynı şekilde geçirmeye çalıştık ama eşleşen kayıtları olsa da her zaman boş alır. Değer listesi queryset'i bir listeye dönüştürdüğümüzde ve __in
filtre koşulu kullanılarak tablo C'de kullanıldığında, iyi çalışır.django değerler listesi veritabanı motorları arasında queryset
Django dokümanlar ve diğer çok sorular okudum
data = modelindbA.objects.values_list('somecolumn',flat=True)
data = list(data)
info = C.objects.filter(somecolumn__in=data).values_list
Çalışma
data = modelindbA.objects.values_list('somecolumn',flat=True)
info = C.objects.filter(somecolumn__in=data).values_list
Çalışmıyor, göreceli bir şey bulamadı. Tahminimce, her iki model de farklı veritabanı şemalarında olduğundan, yukarıda çalışmaz. Bu sorunun nasıl giderileceği konusunda yardıma ihtiyacım var.
Teşekkür ederim Kevin. Ayrıca ben de bu şekilde denedim ama didn; daha fazla bulmaca beni işe yarar :( data = liste (modelindbA.objects.values_list ('somecolumn', düz = Doğru)) info = C.objects.filter (somecolumn__in = data) .values_list Bunun için çalışmayı bekliyordum çünkü listeyi kullanırken db isabeti zorlanmış olurdu ve değerler zaten veri nesnesine girmiş olurdu. Ama bu işe yaramıyor. Bu gariplik hakkında biraz bilgi verebilir misiniz? davranış, bu konuda bilgi için çok teşekkürler – Giri
@Giri: Kafam karıştı, senin sorununun "Çalışma" olduğunu söyledin. –
Kevin Değerler listesi queryset'i bir listeye çevirmek ve modeli başka bir veritabanında sorgulamak demek Şüphem:
data = list (listindbA.objects.values_list ('somecolumn', flat = True)) Yukarıdaki "listeyi" kullanarak hemen veritabanı isabeti olacak ve değerler f olacaktır. modelden kazınmış ve değişken "veri" olacaktır. Şimdi bu "data" değişkenini
info = C.objects.filter (somecolumn__in = data) üzerinden kullanırsam.values_list, bunu şimdiye kadar "data" değişkeninde zaten var olan nesne olarak çalışmak için bekliyordum. – Giri