Django-fr

Forum

#1 26-02-2011 20:19:33

Django
Membre
Inscription : 30-12-2010
Messages : 20

Afficher les enregistrements d'une table MS SQL

Bonsoir,

J'aimerais afficher les enregistrements d'une table de ma bd MS SQL.

Pour ce faire, dans le shell, je fais ceci :

from app.models import *

dans MS SQL, le nom des tables commencent par dbo, je fais donc :

users = dbo.neuro_patient.objects.all()  et j'obtiens ce message d'erreur :

name 'dbo' is not defined

Quand je retire dbo, j'ai ce message d'erreur :

name 'neuro_patient' is not defined.

Je me demandais donc comment je pouvais afficher les enregistrements de
ma table ?

Merci d'avance pour l'aide.

Hors ligne

#2 27-02-2011 10:00:51

David Thenon
Membre
Inscription : 11-08-2010
Messages : 156
Site Web

Re : Afficher les enregistrements d'une table MS SQL

Salut,

Un peu bizarre ta logique, aussi puissant que soit Django, il n'est pas
magique (enfin sauf avec les poneys roses).

> name 'dbo' is not defined

C'est évident pourtant tu utilises la variable 'dbo' qui n'existe pas dans
l'espace de noms de ton script.

> name 'neuro_patient' is not defined.

Pareil, tu n'a pas de variable nommée 'neuro_patient' dans ton espace de nom.

> dans MS SQL, le nom des tables commencent par dbo, je fais donc [..]

Je ne comprends pas le rapport que tu peux faire entre le fait que tes tables
commencent par "dbo" et que tu penses que tu peux l'invoquer comme modèle de
données.

> from app.models import *

En théorie c'est là que devrait se trouver les modèles de données
correspondant aux tables auxquels tu veux accéder.

Note qu'avec les modèles de données, tu ne peux pas accéder directement à
plusieurs table en même temps.

> Je me demandais donc comment je pouvais afficher les enregistrements de
> ma table ?

Tu y accèdes via tes modèles de données qui fournissent chacun une interface
pour faire tes requêtes.

Par exemple, si tu a définit un modèle "Patient" correspondant à ta table
"dbo_patient", tu pourras y accéder en faisait un "Patient.objects.all()".

Si tes tables existent déja avant que tu ais conçu ton application, il faudra
que tu définissent tes modèles de données en fonction de la structure de
chacune de tes tables. Il y a un utilitaire pour Django analyse une BDD et te
sorte une liste de Modèles en fonction de ses tables existantes.

Je te conseil de relire à tête reposée, la documentation de Django sur les
modèles de données puis les requêtes (queryset).

Hors ligne

#3 27-02-2011 14:27:50

Django
Membre
Inscription : 30-12-2010
Messages : 20

Re : Afficher les enregistrements d'une table MS SQL

Salut David,

À nouveau, un grand merci à toi pour ta réponse précise.

DT :

Tu y accèdes via tes modèles de données qui fournissent chacun une interface
pour faire tes requêtes.

Par exemple, si tu a définit un modèle "Patient" correspondant à ta table
"dbo_patient", tu pourras y accéder en faisait un "Patient.objects.all()".


C'est quelque chose que je n'avais pas bien compris, maintenant, c'est
clair.

Merci pour tout et bon dimanche.


Le 2/27/2011 10:00 AM, David THENON a écrit :
> Salut,
>
> Un peu bizarre ta logique, aussi puissant que soit Django, il n'est pas
> magique (enfin sauf avec les poneys roses).
>
>> name 'dbo' is not defined
> C'est évident pourtant tu utilises la variable 'dbo' qui n'existe pas dans
> l'espace de noms de ton script.
>
>> name 'neuro_patient' is not defined.
> Pareil, tu n'a pas de variable nommée 'neuro_patient' dans ton espace de nom.
>
>> dans MS SQL, le nom des tables commencent par dbo, je fais donc [..]
> Je ne comprends pas le rapport que tu peux faire entre le fait que tes tables
> commencent par "dbo" et que tu penses que tu peux l'invoquer comme modèle de
> données.
>
>> from app.models import *
> En théorie c'est là que devrait se trouver les modèles de données
> correspondant aux tables auxquels tu veux accéder.
>
> Note qu'avec les modèles de données, tu ne peux pas accéder directement à
> plusieurs table en même temps.
>
>> Je me demandais donc comment je pouvais afficher les enregistrements de
>> ma table ?
> Tu y accèdes via tes modèles de données qui fournissent chacun une interface
> pour faire tes requêtes.
>
> Par exemple, si tu a définit un modèle "Patient" correspondant à ta table
> "dbo_patient", tu pourras y accéder en faisait un "Patient.objects.all()".
>
> Si tes tables existent déja avant que tu ais conçu ton application, il faudra
> que tu définissent tes modèles de données en fonction de la structure de
> chacune de tes tables. Il y a un utilitaire pour Django analyse une BDD et te
> sorte une liste de Modèles en fonction de ses tables existantes.
>
> Je te conseil de relire à tête reposée, la documentation de Django sur les
> modèles de données puis les requêtes (queryset).
>

Hors ligne

Pied de page des forums