31
Diyelim ki kaydetme kodundayım. Modelin adını veya nesnenin içerik türünü nasıl edinebilirim?Modelin adını veya Django nesnesinin içerik türünü nasıl edinebilirim?
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
Bu kod çalışır, ancak ben MODEL_NAME bilmek zorunda:
import django.db.models
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(model=model_name)
model = content_type.model_class()
Bir veritabanı tarayıcı aracınız varsa, bir django_content_type öğesinin oluşturulduğunu görebilirsiniz. Ad, app_label ve model gibi bazı alanları içerir. Bu model bilgilerini içeride olduğum sınıftan almam gerekiyor. – Seitaridis
Model alanı küçük harfli bir dizedir ve sınıf adından türetilmiştir. – Seitaridis
Sonra 'ct = ContentType.objects.get_for_model (self)' gibi bir şey yapın, ardından 'return ct.app_label' veya ihtiyacınız olan ContentType özniteliği. – gravelpot