@9550668

Как правильно структурировать Model в Django?

Всем здравствуйте в очередной раз.

Почитал документацию по Моделям, все изучил, но остались вопросы. Надеюсь, вы сможете подсказать.

Абстрактная ситуация:
1. Есть Модель с несколькими полями.
2. Мне необходимо написать ряд внутренних функций к модели, чтобы код бы более понятный, боее детально структурирован и основная нагрузка на работу с моделью ложилась не на CWB, а на внутренние функции модели.

Собственно, вопрос:
1. Есть функция внутри модели по выдаче частичной информации(нескольких полей записи).

#к примеру, простая функция внутри модели:
def return_user_age(self, user):
   ...
   return user.age


Как я могу вызвать данную функцию из CWB, не создавая новую переменную модели?
Т.е., в идеальном варианте хотелось бы иметь решение, к примеру, такое:
print(Users.return_user_age(id=3))
где Users - это имя модели из файла models.py, id - id юзера, возраст которого я бы хотел получить.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
alternativshik
@alternativshik
Если исходя из варианта в вопросе, то так:
@classmethod
def return_user_age(cls, user_id):
   user = cls.objects.get(id=user_id)
   return user.age


Можно еще написать менеджер для модели и разрулить через него. Можно сделать еще @property и можно просто методы модели, вариант зависит от способов использования этого всего добра в коде.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы