Нужно создать класс

Bika989

Новичок
Пользователь
Дек 25, 2021
3
0
1
Нужно импортировать password.py

В файле models.py создать класс User
где:
is_admin - булевая переменная
Переменная опыта(exp)
Имя(user)
Пароль( self.password = hash_password(_password) )
bio(описание профиля)
В конструкторе сразу же присвоить дату создания аккаунта(модуль datetime)
количество жалоб(по умолчанию 0)
Количество пройденных опросов
строка со статусом(ранг, звание etc.)

set методы для:
кол-ва пройденных опросов
В нём же идёт добавление опыта и при надобности повышения
статуса
смены юзернейма
смены био
смены пароля
количества жалоб(+ или -1)

get методы для:
всего


помогите пожалуйста?
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Есть какие-то наработки? Покажите, что у вас получается
 

Bika989

Новичок
Пользователь
Дек 25, 2021
3
0
1
Есть какие-то наработки? Покажите, что у вас получается
Python:
from django.db import models
from datetime import datetime
 
 
class User:
 
    def __init__(self,
                 username: str,
                 password: str,
                 bio: str,
                 is_admin: bool = False,
                 exp: int = 0,
                 status: str = 'Новичок',
                 num_of_complaints: int = 0,
                 num_of_completed_polls: int = 0,
                 date: datetime = datetime.now()):
        self._is_admin = is_admin
        self._exp = exp
        self._username = username
        self._password = password
        self._bio = bio
        self._date = date
        self._num_of_complaints = num_of_complaints
        self._num_of_completed_polls = num_of_completed_polls
        self._status = status
 
    def get_is_admin(self) -> bool:
        return self._is_admin
 
    def get_exp(self) -> int:
        return self._exp
 
    def get_username(self) -> str:
        return self._username
 
    def set_username(self, name):
        self._username = name
 
    def get_password(self) -> str:
        return self._password
    
    def set_password(self, password):
        self._password = password
 
    def get_bio(self) -> str:
        return self._bio
    
    def set_bio(self, bio):
        self._bio = bio
 
    def get_date(self) -> datetime:
        return self._date
 
    def get_num_of_complaints(self) -> int:
        return self._num_of_complaints
 
    def get_num_of_completed_polls(self) -> int:
        return self._num_of_completed_polls
 
    def set_num_of_completed_polls(self, num_of_completed_polls):
        num_of_completed_polls += 1
        self._num_of_completed_polls = num_of_completed_polls
        self._exp += 10
        if self._exp >= 100:
            self._status = "Любитель"
        elif self._exp >= 250:
            self._status = "Опытный"
        elif self._exp >= 500:
            self._status = "Мастер"
        elif self._exp >= 750:
            self._status = "Профи"
        elif self._exp >= 1000:
            self._status = "Гуру"
 
    def get_status(self) -> str:
        return self._status
# Create your models here.
 

Bika989

Новичок
Пользователь
Дек 25, 2021
3
0
1
Есть какие-то наработки? Покажите, что у вас получается
Поможете???
 

Форум IT Специалистов