2013-01-23 6 views
20

ich leer queryset Modell Schüler habenbekommen Klassenname für leere queryset in django

students = Students.objects.all() 

Wenn die oben queryset leer ist, wie kann ich dann bekommen das Modell (Klassenname)?

Wie kann ich den Modellnamen für leere Abfrage erhalten?

EDIT:

Wie kann ich den Namen der Anwendung aus dem queryset bekommen?

+0

"Ich habe leer queryset Modell Student" - nicht unbedingt leer, aber 'Students.objects.none()' ist eine leere queryset die ganze Zeit. –

Antwort

27
>>> students = Students.objects.all() 

# The queryset's model class: 
>>> students.model 
project.app.models.Student 

# Name of the model class: 
>>> students.model.__name__ 
'Student' 

# Import path of the models module: 
>>> students.model.__module__ 
'project.app.models' 

# Django app name: 
>>> students.model._meta.app_label 
'app' 
+0

Danke jkbr. Wie kann ich den App-Namen aus dem Abfrage-Set abrufen? – Asif

+0

Ich habe meine Antwort aktualisiert. –

+0

Ich hoffe, das ist dokumentiert ...:/ – minmaxavg

5
students.model 

Querysets haben ein model Attribut, das verwendet werden kann, um das Modell sie zugeordnet sind abzurufen.

1

können Sie tun:

students.model.__name__ 
>>> `Students`