Я хотел бы получить название модели из типа контента.
Я пробовал это ....
a = Module.objects.filter (slug = "sales")
Итак, он возвращает SoftDeletionQueryset
Так что после этого я просто сделал следующее
для x в a: print (x.content_type)
Итак, он вернул«Аналитика продаж». То есть значение content_type в поле Module.content_type
Теперь у меня есть значения content_type ..... Модель типа содержимого, имеющая 3 поля, верно? app_label, model, name Итак, я хочу получить название модели в соответствии со значениями content_type -
Вот мой код
class Module(BaseModel, SoftDeletionModel):
id = models.AutoField(primary_key=True)
name = models.CharField(
_("Module Name"), max_length=50, default=False, unique=True)
slug = models.SlugField(unique=True)
display_name = models.CharField(
_("Display Name"), max_length=50, default=False)
content_type = models.ForeignKey(ContentType,
blank=True, null=True, on_delete=models.CASCADE)
parent_module_id = models.ForeignKey("Module",
blank=True, null=True, on_delete=models.CASCADE)
order = models.IntegerField(_("Order"), default=0, blank=True, null=True)
class Meta:
db_table = 'modules'
def __str__(self):
return "{0}".format(self.display_name)