Proporciona un mecanismo para buscar un objeto asociado con la solicitud HTTP actual.
Métodos y Atributos
El modelo para el cual esta vista mostrará datos. Especificar model = Foo es efectivamente lo mismo que especificar queryset = Foo.objects.all(), donde objects representa el administrador predeterminado de Foo.
Un conjunto de consultas que representa los objetos. Si se proporciona, el valor de queryset prevalece sobre el proporcionado para model.
Advertencia
queryset es un atributo de clase con un valor mutable, por lo que debe tener cuidado al usarlo directamente. Antes de usarlo, llame a su método all() o recupere el conjunto de consultas con get_queryset(), que se encarga del clonado detrás de escena.
El nombre del campo en el modelo que contiene la slug. Por defecto, slug_field es “slug”.
El nombre del argumento de palabra clave URLConf que contiene la slug. Por defecto, slug_url_kwarg es “slug”.
El nombre del argumento de la palabra clave URLConf que contiene la llave primaria. Por defecto, pk_url_kwarg es “pk”.
Designa el nombre de la variable a usar en el contexto.
Si Verdadero, hace que la función get_object() realice su búsqueda utilizando tanto el clave primaria como el slug. Por defecto es Falso.
Esta atributo puede ayudar a mitigar los ataques de referencia directa de objeto inseguro . Cuando las aplicaciones permiten el acceso a objetos individuales mediante una clave primaria secuencial, un atacante podría adivinar por fuerza bruta todas las URL; obteniendo así una lista de todos los objetos en la aplicación. Si se deben evitar que los usuarios con acceso a objetos individuales obtengan esta lista, establecer query_pk_and_slug en True ayudará a prevenir el adivinanza de URLs ya que cada URL requerirá dos argumentos correctos y no secuenciales. Utilizar un slug único puede servir el mismo propósito, pero este esquema permite tener slugs no únicos.
Devuelve el objeto único que esta vista mostrará. Si se proporciona queryset, ese conjunto de objetos se utilizará como fuente de objetos; en caso contrario, se utilizará get_queryset(). get_object() busca un argumento pk_url_kwarg entre los argumentos de la vista; si se encuentra este argumento, este método realiza una búsqueda basada en clave primaria utilizando ese valor. Si no se encuentra este argumento, busca un argumento slug_url_kwarg, y realiza una búsqueda por slug utilizando el campo slug_field.
When query_pk_and_slug es True, get_object() realizará su búsqueda utilizando tanto el clave primaria como la slug.
Devuelve el conjunto de resultados que se utilizará para recuperar el objeto que esta vista mostrará. Por defecto, get_queryset() devuelve el valor de la propiedad queryset si está configurada, en caso contrario construye un QuerySet llamando al método all() sobre el administrador por defecto de la propiedad model.
Devuelve el nombre de la variable del contexto que se utilizará para contener los datos con los que esta vista está trabajando. Si no se ha configurado context_object_name, el nombre del contexto se construirá a partir del model_name del modelo que forma parte del conjunto de resultados. Por ejemplo, el modelo Article tendría un objeto de contexto llamado 'article'.
Devuelve los datos del contexto para mostrar el objeto.
La implementación base de este método requiere que la propiedad self.object esté configurada por la vista (incluso si es None). Asegúrate de hacerlo si estás utilizando esta clase mixin sin ninguna de las vistas integradas que lo hacen.
Devuelve un diccionario con estos contenidos:
object: El objeto que esta vista está mostrando (self.object).
context_object_name: self.object también se almacenará bajo el nombre devuelto por get_context_object_name(), lo cual tiene un valor predeterminado de la versión en minúsculas del nombre del modelo.
Las variables del contexto sobreescriben valores de procesadores de contexto
Cualquier variable desde get_context_data() tiene prioridad sobre las variables del contexto de los procesadores de contexto. Por ejemplo, si tu vista configura la propiedad model a User, el nombre predeterminado del objeto de contexto user sobreescribiría la variable user del proceso de contexto django.contrib.auth.context_processors.auth(). Utiliza get_context_object_name() para evitar un conflicto.
Returns el nombre del campo de slug para buscar por slug. Por defecto devuelve el valor de slug_field.
SingleObjectTemplateResponseMixin¶Una clase mixin que realiza la renderización de respuesta basada en plantillas para vistas que operan sobre una instancia de objeto única. Requiere que la vista con la que se mezcla proporcione self.object, la instancia de objeto sobre la que opera la vista. self.object suele ser, pero no es necesario que sea, una instancia de un modelo Django. Puede ser None si la vista está en proceso de construir una nueva instancia.
Extiende
Métodos y Atributos
El campo en la instancia actual del objeto que se puede utilizar para determinar el nombre de una plantilla candidata. Si tanto template_name_field como el valor de template_name_field en la instancia actual del objeto son None, la instancia no se usará para un nombre de plantilla candidato.
El sufijo a agregar al nombre de plantilla candidato auto-generado. El sufijo por defecto es _detail.
Devuelve una lista de nombres de plantillas candidatas. Devuelve una lista que contiene template_name, si está establecido en el valor. De lo contrario, devuelve una lista que contiene:
el contenido del campo template_name_field en la instancia del objeto sobre la que opera la vista (si está disponible)
<app_label>/<model_name><template_name_suffix>.html
may 31, 2026