En django cómo comprobar si existe alguna entrada para una consulta
sc=scorm.objects.filter(Header__id=qp.id)
Así fue como se hizo en php
if(mysql_num_rows($resultn)) {
// True condition
}
else {
// False condition
}
python
django
django-views
Casco
fuente
fuente
Respuestas:
Utilizar
count()
:sc=scorm.objects.filter(Header__id=qp.id) if sc.count() > 0: ...
La ventaja sobre eg
len()
es que el QuerySet aún no se ha evaluado:Teniendo esto en cuenta, puede valer la pena leer cuando se evalúan los QuerySets .
Si usa
get()
, por ejemploscorm.objects.get(pk=someid)
, y el objeto no existe, se genera unaObjectDoesNotExist
excepción:from django.core.exceptions import ObjectDoesNotExist try: sc = scorm.objects.get(pk=someid) except ObjectDoesNotExist: print ...
Actualización: también es posible utilizar
exists()
:if scorm.objects.filter(Header__id=qp.id).exists(): ....
fuente
if scorm.objects.filter(Header__id=qp.id).exists()
A partir de Django 1.2, puede usar
exists()
:https://docs.djangoproject.com/en/dev/ref/models/querysets/#exists
if some_queryset.filter(pk=entity_id).exists(): print("Entry contained in queryset")
fuente
.objects.get(pk=...)
rutaesto funcionó para mí!
fuente