2011-06-30 22 views
7

Django projemin bir parçası olmayan bir veritabanı tablosundan veri seçmek istiyorum. Veri tabanı bağlantı bilgisini ayarlar dosyasına ekledim ve verileri çekmek için buna karşı ham sql sorguları yapabilirim. Bununla birlikte, bu tablo için bir model oluşturmak ve diğer herhangi bir Django model verisi gibi verilere erişebilmek istiyorum.Django: Farklı bir veritabanından veri alma

Bu mümkün mü? Bununla ilgili herhangi bir belge bulabilirim.

cevap

10

Django: Multiple Databases sayfası bu konuda iyi bilgi içerir yapmak

SomeObject.objects.using('database_name').all() 

kullanmak zorunda. Veritabanlarınızı settings.py içinde yapılandırdıktan sonra, sorgulamak istediğiniz veritabanını belirtmek için .using()'u kullanabilirsiniz. belgelerinden

Örnekler:

Yazar daha sonra ne
>>> # This will run on the 'default' database. 
>>> Author.objects.all() 

>>> # So will this. 
>>> Author.objects.using('default').all() 

>>> # This will run on the 'other' database. 
>>> Author.objects.using('other').all() 
+0

? Yazar modeli, model.py'de tanımlanmamıştır. – user1881957

+1

'Yazar' bu durumda sorgulamak istediğiniz herhangi bir nesne için bir yer tutucudur. Örneği bağlantılı sayfadaki belgelere kopyaladım. Herhangi bir nesneyi kullanabilirsiniz. –

+0

Bunun gibi ham sorguları nasıl yürüteceğimi söyleyebilir misiniz? Örn: Author.objects.using ('diğer'). Raw ("Table1'den * seçin") –

3

emin, sadece sorguları

İlgili konular