我有以下模型:
我尝试过返回对象、self和其他值。我还尝试过不使用可调用函数,只声明“typ='xxx'”来设置值。但是都没有成功。我可能不理解这整个过程的工作原理...如果有任何想法,请告诉我。
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",因为原始值过长,所以我使用代码和字典将其转换为人类可读的形式。
问题: 我如何在Django管理页面拦截这些值并将它们翻译为人类可读的形式?
这是我到目前为止尝试过的:
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'”来设置值。但是都没有成功。我可能不理解这整个过程的工作原理...如果有任何想法,请告诉我。
readonly_fields
中。复制上面的示例并测试它是否可行。在readonly_fields
的末尾添加my_custom_field
,并添加一个同名的方法以查看其效果。 - Yuji 'Tomita' Tomita