【发布时间】:2017-06-07 18:37:47
【问题描述】:
我有以下型号:
class Model(models.Model):
creator = models.ForeignKey(User,related_name='com_creator',on_delete=models.SET_NULL, blank=True, null=True)
username = models.CharField(max_length=60,default="")
created = models.DateTimeField(auto_now_add=True)
body = models.TextField(max_length=10000,default=" ")
subtype = models.CharField(_("SubType"),max_length=100)
typ = models.CharField(_("Type"),max_length=50)
plus = models.ManyToManyField(User,related_name='com_plus', verbose_name=_('Plus'), blank=True)
is_anonymous = models.BooleanField(_('Stay Anonymous'), blank=True, default=False)
typ 和 subtype 中的值是代码,例如:“6_0_p”,(因为原始值很长,所以我使用代码和 dict 来翻译成人类可读的形式)。
问题:如何在 django admin 中截取这些值并将它们转换为人类可读的形式?
这是我迄今为止尝试过的:
class ModelAdmin(admin.ModelAdmin):
model = Model
extra = 1
exclude = ("username","creator","plus" )
readonly_fields = ('subtype','typ','is_anonymous','created')
fields = ('body','subtype','typ')
def typ(self, obj):
self.typ = "ppp"
obj.typ = "ppp"
return "pppp"
我尝试返回对象、self 和其他一些值。我还尝试设置值而不使用仅声明“typ ='xxx'”的可调用对象。没有。我可能不明白整个事情是如何运作的......
任何想法都会受到赞赏。
【问题讨论】:
标签: django django-models django-admin