gpt4 book ai didi

Django Admin 覆盖显示的字段值

转载 作者:行者123 更新时间:2023-12-04 03:05:56 24 4
gpt4 key购买 nike

我有以下型号:

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'”的可调用对象的情况下设置该值。没有。我可能不明白这整个事情是如何运作的......

任何想法将不胜感激。

最佳答案

我认为您的代码不起作用,因为 方法 名称与字段相同。
您必须更改字段的名称,例如字段元组中的 _typ,然后添加一个名为 _typ 的方法,该方法返回任何内容或某些 obj attr。
IE:

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):
return "pppp"

关于Django Admin 覆盖显示的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44420379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com