Bonjour,

Je cherche à afficher le résultat d'une requête sur une base Oracle dans une vue.

Dans mon settings.py, je modifie la variable DATABASES pour paramétrer l'accès à Oracle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
'oracle': {
        "ENGINE": "django.db.backends.oracle",
        "NAME": "mabase",
        "USER": "monuser",
        "PASSWORD": "monpassword",
        "HOST": "monhost",
        "PORT": "monport",
    }
Dans models.py, je crée mon modèle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
from django.db import models
 
class Project(models.Model):
    PJ_ID = models.IntegerField()
    PJ_NAME = models.CharField(max_length=50)
    PJDATE_CREATED = models.DateField()
 
    class Meta:
        db_table = 'matable'
        managed = False
 
    def __str__(self):
        return self.PJ_NAME
Dans views.py, je crée ma vue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
from .models import Project
...
def project_listing2(request):
    projs = Project.objects.using("oracle").all().order_by('PJDATE_CREATED')
    return render(request, template_name='projectList.html', context={'projects': projs})
Dans cette vue, j'ai une erreur sur le mot 'objects' avec le message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Unresolved attribute reference 'objects' for class 'Project'
Qu'est ce qui cloche?

Merci,
Nico