31
私はセーブコードに入っています。モデルの名前またはオブジェクトのコンテンツタイプを取得して使用するにはどうすればよいですか?モデルの名前または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
このコードは動作しますが、私はMODEL_NAMEを知っている必要があります:あなたがコンテンツを好む場合
self.__class__.__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()
データベースブラウザツールを使用している場合は、django_content_typeが作成されていることがわかります。名前、app_label、モデルなどのフィールドが含まれています。 – Seitaridis
モデルフィールドは小文字の文字列で、クラス名から派生しています。 – Seitaridis
次に、「ct = ContentType.objects.get_for_model(self)」の後に「return ct.app_label」または必要なContentType属性のいずれかを入力します。 – gravelpot