Как использовать is_superuser в моделях django - PullRequest
0 голосов
/ 26 сентября 2019

Я хочу переопределить from_db_value в классе Field, я хочу, чтобы, если пользователь был суперпользователем, значение возвращалось полностью, в противном случае значение имеет специальный формат.Как я могу использовать is_superuser для этой цели?

class Foo(models.CharField):
def from_db_value(self, value, expression, connection):
    if is_superusers:
        return value
    else:
        return "----"

1 Ответ

2 голосов
/ 26 сентября 2019

Вы не можете.from_db_value не имеет контекста для определения текущего пользователя.

Кроме того, вы не должны.Лучший способ справиться с чем-то подобным - либо через модель, либо через их разрешения.Я не уверен, почему вы хотите, чтобы объект имел разные представления в зависимости от пользователя, извлекающего его из базы данных.Это плохой дизайн.

...