31
Diciamo che sono nel codice di salvataggio. Come posso ottenere il nome del modello o il tipo di contenuto dell'oggetto e usarlo?Come posso ottenere il nome del modello o il tipo di contenuto di un oggetto 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
questo codice funziona, ma devo conoscere il MODEL_NAME:
import django.db.models
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(model=model_name)
model = content_type.model_class()
Se si dispone di uno strumento per il browser del database, è possibile vedere che viene creato un django_content_type. Contiene alcuni campi, come nome, app_label e modello. Ho bisogno di ottenere le informazioni del modello dalla classe in cui mi trovo. – Seitaridis
Il campo del modello è una stringa minuscola e deriva dal nome della classe. – Seitaridis
Quindi fai qualcosa come "ct = ContentType.objects.get_for_model (self)", seguito da "return ct.app_label" o qualsiasi attributo ContentType di cui hai bisogno. – gravelpot