Django поле ввода пользовательской модели без миграции - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь реализовать пользовательское поле в моей модели, следуя документам . Моя модель выглядит следующим образом:

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_address_decrypted = value )

Но возвращается следующая ошибка:

Cannot resolve keyword 'eth_address_decrypted' into field. Choices are: created, date_joined, email, eth_address,

Что я делаю не так?

Есть ли способ, которым я могу вызвать user.eth_address_decrypted для объекта в качестве настраиваемого поля или функции без его миграции? (потому что eth_address_decrypted просто преобразование из существующего eth_adress)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...