【发布时间】:2019-11-07 08:38:03
【问题描述】:
我想从内容类型中获取模型名称。
这个我试过了....
a=Module.objects.filter(slug="sales")
所以它返回 SoftDeletionQueryset
所以在那之后我只是做了以下
for x in a: print(x.content_type)
所以它返回“销售分析”。即 Module.content_type 字段中的 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)
【问题讨论】:
标签: django django-models django-contenttypes