0
Мне нужно отфильтровать данные из базы данных SQL Server 2000 Enterprise Edition, которая не является моей, поэтому я не могу ее изменить.Django на фильтрах базы данных SQL Server
Моя проблема заключается в следующем:
mymodel.objects.get(id=1)
работает отлично
mymodel.objects.filter(id=1)
возвращение пустой QuerySet '[]' и
mymodel.objects.all()
сделать то же самое.
Это MyProject/settings.py
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc' ,
'NAME': 'QuaniVB',
'USER': 'sa',
'PASSWORD': '****',
'PORT': '1433' ,
'OPTIONS': {
'driver': 'FreeTDS',
'dsn' : 'MSSQL-QUANI',
}
},
'emanager2': {
'ENGINE': 'sql_server.pyodbc' ,
'NAME': 'emanager',
'USER': 'sa',
'PASSWORD': '******',
'HOST' : 'emanager2' ,
'PORT': '1433' ,
'OPTIONS': {
'dsn' : 'MSSQL-EMANAGER2', ## as in /etc/odbc.ini
}
},
}
это модель
class Medico(models.Model):
tipo_medico = models.TextField(db_column='TIPO_MEDICO', blank=True)
id_medico = models.AutoField(primary_key=True, db_column='ID_MEDICO')
cod_regionale_medico = models.TextField(db_column='COD_REGIONALE_MEDICO', blank=True)
cognome = models.TextField(db_column='COGNOME', blank=True)
nome = models.TextField(db_column='NOME', blank=True)
codfisc_medico = models.TextField(db_column='CODFISC_MEDICO', blank=True)
reg_ulss_appartenenza = models.TextField(db_column='REG_ULSS_APPARTENENZA', blank=True)
cod_individuale = models.TextField(db_column='COD_INDIVIDUALE', blank=True)
id_comune_ambulatorio = models.DecimalField(decimal_places=0, null=True, max_digits=18, db_column='ID_COMUNE_AMBULATORIO', blank=True)
cod_unita_med = models.TextField(db_column='COD_UNITA_MED', blank=True)
class Meta:
db_table = 'MEDICO'
, что мой 'питон manage.py оболочки' тест
>>> from myapp.models import Medico
>>> med = Medico.objects.using('emanager2')
>>> med.get(id_medico= 11746).cognome
>>> med.filter(id_medico= 11746)
[]
>>> med.all()
[]
>>>
Любые предложения по
моих conncection запросов выглядит следующим образом ... >>> печать connection.queries [] пустой список – francesco
@francesco Я обновил ответ. Кроме того, вам необходимо убедиться, что DEBUG включен для этого. –
Однако, если я выполняю в другом клиенте результат >>> Medico.objects.using ('emanager2'). Query он извлекает все нужные записи – francesco