31
Digamos que estoy en el código de guardado. ¿Cómo puedo obtener el nombre del modelo o el tipo de contenido del objeto y usarlo?¿Cómo puedo obtener el nombre del modelo o el tipo de contenido de un objeto Django?
from django.db import models
class Foo(models.Model):
...
def save(self):
I am here....I want to obtain the model_name or the content type of the object
Este código funciona, pero tengo que conocer el nombre_del_modelo:
import django.db.models
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(model=model_name)
model = content_type.model_class()
Si tiene una herramienta de navegador de base de datos, puede ver que se crea un django_content_type. Contiene algunos campos, como name, app_label y model. Necesito obtener esa información del modelo de la clase en la que estoy. – Seitaridis
El campo del modelo es una cadena en minúscula y se deriva del nombre de la clase. – Seitaridis
Luego haga algo como 'ct = ContentType.objects.get_for_model (self)', seguido de 'return ct.app_label' o cualquier atributo ContentType que necesite. – gravelpot