class Telegram_Type(db.Model): '''Модель для работы с таблицей Types В таблице определены типы, к которым относится конкретный пользователь ''' __tablename__ = 'Telegram_Type' id = db.Column(db.Integer(), primary_key=True) user = db.Column(db.Integer(), nullable=False) type = db.Column(db.String(255), nullable=False) created_on = db.Column(db.DateTime(), default=datetime.utcnow) updated_on = db.Column(db.DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow) def __repr__(self): return "<{}:{}>".format(self.id, self.title[:10])
class Telegram_User(db.Model): '''Модель для работы с таблицей Users''' __tablename__ = 'Telegram_User' id = db.Column(db.Integer(), primary_key=True) telegramID = db.Column(db.Integer(), nullable=False) first_name = db.Column(db.String(255), nullable=False) last_name = db.Column(db.String(255), nullable=True) username = db.Column(db.String(255), nullable=False) type = db.Column(db.String(255), nullable=False) create_project = db.Column(db.Integer(), default=0, nullable=False) bot_command = db.Column(db.Integer(), default=0, nullable=False) created_on = db.Column(db.DateTime(), default=datetime.utcnow) updated_on = db.Column(db.DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow) def __repr__(self): # return "<{}:{}>".format(self.id, self.telegramID, self.username) '''Возвращает все поля текущего обьекта.''' return "id={}\n" \ "telegramID={}\n" \ "first_name={}\n" \ "last_name={}\n" \ "username={}\n" \ "type={}\n" \ "bot_command={}\n" \ "created_on={}\n" \ "updated_on={}".format( self.id, self.telegramID, self.first_name, self.last_name, self.username, self.type, self.bot_command, self.created_on, self.updated_on )
class Telegram_Admin(db.Model): '''Модель для работы с таблицей Admin хранит информацию о администраторах.''' __tablename__ = 'Telegram_Admin' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(255), nullable=False) first_name = db.Column(db.String(255), nullable=False) last_name = db.Column(db.String(255), nullable=True) phone_number = db.Column(db.String(255), nullable=True) telegramID = db.Column(db.Integer(), nullable=False) password = db.Column(db.Text(), nullable=False) get_messages = db.Column(db.Integer(), default=0, nullable=False) created_on = db.Column(db.DateTime(), default=datetime.utcnow) updated_on = db.Column(db.DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow) def __repr__(self): '''Возвращает все поля текущего обьекта.''' return "id={}\n" \ "name={}\n" \ "telegramID={}\n" \ "password={}\n" \ "get_messages={}\n" \ "created_on={}\n" \ "updated_on={}".format( self.id, self.name, self.telegramID, self.password, self.get_messages, self.created_on, self.updated_on )
class Telegram_Projects(db.Model): '''Модель для работы с таблицей Projects где собраны данные о проекте клиента, и контактная информация.''' __tablename__ = 'Telegram_Projects' # Поля id и telegramID по которому пользователь идентифицирован в телеграмме id = db.Column(db.Integer(), primary_key=True) telegramID = db.Column(db.Integer(), nullable=False) # email = db.Column(db.String(255), nullable=True) fio = db.Column(db.String(255), nullable=True) # phone = db.Column(db.String(255), nullable=True) contacts = db.Column(db.Text(), nullable=True) aboutProject = db.Column(db.Text(), nullable=True) document = db.Column(db.Integer(), default=0, nullable=False) created_on = db.Column(db.DateTime(), default=datetime.utcnow) updated_on = db.Column(db.DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow) def __repr__(self): # return "<{}:{}>".format(self.id, self.telegramID, self.username) '''Возвращает все поля текущего обьекта.''' return "id={}\n" \ "telegramID={}\n" \ "fio={}\n" \ "aboutProject={}\n" \ "created_on={}\n" \ "updated_on={}".format( self.id, self.telegramID, self.fio, self.aboutProject, self.created_on, self.updated_on )
class Company(db.Model): '''Модель для работы с таблицей Company''' __tablename__ = 'Company' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(255), nullable=True) caption = db.Column(db.String(255), nullable=True) email = db.Column(db.String(255), nullable=True) requisites = db.Column(db.Text(), nullable=True) facts = db.Column(db.Text(), nullable=True) phone = db.Column(db.String(50), default=0, nullable=True) # Поле для связи 1 ко Многим CompanyDescription = db.relationship('CompanyDescription', backref='Company') created_on = db.Column(db.DateTime(), default=datetime.utcnow) updated_on = db.Column(db.DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow) def __repr__(self): # return "<{}:{}>".format(self.id, self.telegramID, self.username) '''Возвращает все поля текущего обьекта.''' return "id={}\n" \ "name={}\n" \ "caption={}\n" \ "email={}\n" \ "requisites={}\n" \ "phone={}\n" \ "created_on={}\n" \ "updated_on={}".format( self.id, self.name, self.caption, self.email, self.requisites, self.phone, self.created_on, self.updated_on )