Django imeplement自定义模型字段,无需迁移

Django imeplement自定义模型字段,无需迁移,django,django-models,django-model-field,Django,Django Models,Django Model Field,我尝试在模型中实现自定义字段,如下所示,我的模型如下: class User(AbstractUser): uid = models.CharField( "uid", max_length=255, null=True, blank=True) phone_number = models.CharField( "Phone number", max_length=255, null=True, blank=True) nickname =

我尝试在模型中实现自定义字段,如下所示,我的模型如下:

class User(AbstractUser):
    uid = models.CharField(
        "uid", max_length=255, null=True, blank=True)
    phone_number = models.CharField(
        "Phone number", max_length=255, null=True, blank=True)
    nickname = models.CharField(
        "Nickname", max_length=255, null=True, blank=True)

    eth_address = models.CharField("Eth address", max_length=255, null=True, blank=True)

    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    # deleted
    class eth_address_decrypted(models.Field):
        description = 'eth_address_decrypted'

        def __init__(self, *args, **kwargs):
            return decrypt_string(self.eth_address)


    class Meta:
        db_table = "users"

    pass
我有一个
eth_address
字段,它的值是加密的,我需要在前端显示解密后的值,所以我编写了自定义字段模型作为文档,并通过查询在前端调用它:

User.objects.get(eth\u address\u decrypted=value)

但它返回以下错误:

Cannot resolve keyword 'eth_address_decrypted' into field. Choices are: created, date_joined, email, eth_address,
我做错了什么


是否有一种方法可以调用对象上的
user.eth\u address\u decrypted
,作为自定义字段或函数而不迁移它?(因为eth_地址只解密了现有eth_地址的转换)

这不是一个字段(因为这至少应该是一个字段实例。因此错误是有意义的。@WillemVanOnsem我应该如何处理这个问题?因为我不想迁移一个新字段,所以我想在调用该对象的
user.eth_address_decrypted
时只显示解密的数据。您可以在模型中定义一个常规的python类属性,其中y您将返回解密的数据。但您将无法像尝试那样使用该数据进行查询。