0

私はこのようなモデルを持っています:

USER_TYPES=(("pro","Professional"),("beg","Beginner"))
mdl_user(models.Model):
    name=models.CharField(max_length=128)
    utype=models.CharField(max_length=3,Choices=USER_TYPES)

django-reversion を使用してユーザーの変更を追跡したい

デフォルトの例を使用した表示上の変更

from reversion.helpers import generate_patch_html
generate_patch_html(old_version, new_version, "utype", cleanup="semantic")

戻る

<span>pro<ins>beg</ins></span>

しかし、私は次のような Choices 値を返したい:

<span>Professional<ins>Beginner</ins></span>
4

1 に答える 1

0

ジャンゴの復帰にはそのようなものはないことがわかりました

このヘルパーを使用して、選択肢を表示します

def replace_choices_value(req_mdl, objs):
    listobj = []
    fields = req_mdl._meta.get_fields()
    if type(objs) != list:
        objs = [objs, ]

    for obj in objs:
        newobj = {}
        for field in fields:
            display_method = "get_%s_display" % field.name
            if hasattr(req_mdl, display_method):
                newobj[field.name] = dict(field.flatchoices).get(obj.field_dict[field.name])
            else:
                newobj[field.name] = obj.field_dict.get(field.name, "")
        listobj.append(newobj)
    return listobj
于 2016-04-18T17:46:35.207 に答える