# Таблица персоны и особые действия с ней from dbtable import * class PeopleTable(DbTable): def table_name(self): return self.dbconn.prefix + "people" def columns(self): return {"id": ["serial", "PRIMARY KEY"], "last_name": ["varchar(32)", "NOT NULL"], "first_name": ["varchar(32)", "NOT NULL"], "second_name": ["varchar(32)"]} def find_by_position(self, num): sql = "SELECT * FROM " + self.table_name() sql += " ORDER BY " sql += ", ".join(self.primary_key()) sql += " LIMIT 1 OFFSET %(offset)s" cur = self.dbconn.conn.cursor() cur.execute(sql, {"offset": num - 1}) return cur.fetchone()