From 41197879e27d0d86bc9043c9f4f2b8ecc620393b Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Wed, 22 Jul 2020 20:20:22 -0400 Subject: [PATCH 1/8] Assignment 1 --- module1-introduction-to-sql/rpg_queries.py | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 module1-introduction-to-sql/rpg_queries.py diff --git a/module1-introduction-to-sql/rpg_queries.py b/module1-introduction-to-sql/rpg_queries.py new file mode 100644 index 00000000..27e15b73 --- /dev/null +++ b/module1-introduction-to-sql/rpg_queries.py @@ -0,0 +1,62 @@ +import sqlite3 + +connect = sqlite3.connect('rpg_db.sqlite3') +cursor = connect.cursor() + +cursor.execute('SELECT COUNT(character_id) FROM charactercreator_character') +print("1. ", cursor.fetchall()) + +cursor.execute('SELECT COUNT(character_ptr_id) FROM charactercreator_thief') +print("2.\nThief: ", cursor.fetchall()) + +cursor.execute('SELECT COUNT(character_ptr_id) FROM charactercreator_cleric') +print("Cleric: ", cursor.fetchall()) + +cursor.execute('SELECT COUNT(character_ptr_id) FROM charactercreator_mage') +print("Mage: ", cursor.fetchall()) + +cursor.execute('SELECT COUNT(character_ptr_id) FROM charactercreator_fighter') +print("Fighter: ", cursor.fetchall()) + +cursor.execute('SELECT COUNT(mage_ptr_id) FROM charactercreator_necromancer') +print("Necromancer: ", cursor.fetchall()) + +cursor.execute('SELECT COUNT(item_id) FROM armory_item') +num_item = cursor.fetchall() +print('3. ', num_item) + +cursor.execute('SELECT COUNT(item_ptr_id) FROM armory_weapon') +num_weapon = cursor.fetchall() +print( + '4. Weapons: ', + num_weapon, + ' Items: ', + num_item[0][0] - + num_weapon[0][0]) + +cursor.execute('''SELECT COUNT(item_id) +FROM charactercreator_character_inventory +GROUP BY character_id +LIMIT 20''') +print('5. ', cursor.fetchall()) + +cursor.execute('''SELECT COUNT(item_id) +FROM charactercreator_character_inventory +WHERE item_id > 137 +GROUP BY character_id +LIMIT 20''') +print('6. ', cursor.fetchall()) + + +cursor.execute('''SELECT AVG(a.rcount) FROM +(select count(*) as rcount +FROM charactercreator_character_inventory cci +GROUP BY character_id) a''') +print('7. ', cursor.fetchall()) + +cursor.execute('''SELECT AVG(a.rcount) FROM +(select count(*) as rcount +FROM charactercreator_character_inventory cci +WHERE item_id > 137 +GROUP BY character_id) a''') +print('8. ', cursor.fetchall()) From 9364c9645d687fc053a4f189daa8e9f627045cc5 Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Thu, 23 Jul 2020 18:41:02 -0400 Subject: [PATCH 2/8] Assignment 1 --- module1-introduction-to-sql/rpg_queries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module1-introduction-to-sql/rpg_queries.py b/module1-introduction-to-sql/rpg_queries.py index 27e15b73..0298d11e 100644 --- a/module1-introduction-to-sql/rpg_queries.py +++ b/module1-introduction-to-sql/rpg_queries.py @@ -7,7 +7,7 @@ print("1. ", cursor.fetchall()) cursor.execute('SELECT COUNT(character_ptr_id) FROM charactercreator_thief') -print("2.\nThief: ", cursor.fetchall()) +print("2.Thief: ", cursor.fetchall()) cursor.execute('SELECT COUNT(character_ptr_id) FROM charactercreator_cleric') print("Cleric: ", cursor.fetchall()) From 50b561ea7e8a95b718616092193d2496aeaa5cd0 Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Fri, 24 Jul 2020 19:03:33 -0400 Subject: [PATCH 3/8] Part 2 assignment --- .../buddymove_holidayiq.py | 15 +++++++++++++++ .../buddymove_holidayiq.sqlite3 | Bin 0 -> 20480 bytes 2 files changed, 15 insertions(+) create mode 100644 module1-introduction-to-sql/buddymove_holidayiq.py create mode 100644 module1-introduction-to-sql/buddymove_holidayiq.sqlite3 diff --git a/module1-introduction-to-sql/buddymove_holidayiq.py b/module1-introduction-to-sql/buddymove_holidayiq.py new file mode 100644 index 00000000..a5f20f8b --- /dev/null +++ b/module1-introduction-to-sql/buddymove_holidayiq.py @@ -0,0 +1,15 @@ +import sqlite3 +import pandas as pd + +connect = sqlite3.connect('buddymove_holidayiq.sqlite3') +cursor = connect.cursor() + +df = pd.read_csv('buddymove_holidayiq.csv') + +df.to_sql('buddy', connect) + +cursor.execute('SELECT COUNT(*) FROM buddy') +print('1. ', cursor.fetchall()) + +cursor.execute('SELECT COUNT(*) FROM buddy WHERE Nature > 99 AND Shopping > 99') +print('2. ', cursor.fetchall()) diff --git a/module1-introduction-to-sql/buddymove_holidayiq.sqlite3 b/module1-introduction-to-sql/buddymove_holidayiq.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..b4e7a00e46aca5ad888da58b8b63c53c3d6f7f21 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 From c10d31d8bbcacfb0b95556b6e805089c42c32523 Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Sat, 25 Jul 2020 01:45:13 -0400 Subject: [PATCH 4/8] Assignment 2 --- module2-sql-for-analysis/Pipfile | 14 ++++ module2-sql-for-analysis/Pipfile.lock | 88 +++++++++++++++++++++ module2-sql-for-analysis/insert_titanic.py | 49 ++++++++++++ module2-sql-for-analysis/rpg_db.py | 50 ++++++++++++ module2-sql-for-analysis/rpg_db.sqlite3 | Bin 0 -> 253952 bytes 5 files changed, 201 insertions(+) create mode 100644 module2-sql-for-analysis/Pipfile create mode 100644 module2-sql-for-analysis/Pipfile.lock create mode 100644 module2-sql-for-analysis/insert_titanic.py create mode 100644 module2-sql-for-analysis/rpg_db.py create mode 100644 module2-sql-for-analysis/rpg_db.sqlite3 diff --git a/module2-sql-for-analysis/Pipfile b/module2-sql-for-analysis/Pipfile new file mode 100644 index 00000000..99609ec7 --- /dev/null +++ b/module2-sql-for-analysis/Pipfile @@ -0,0 +1,14 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] +autopep8 = "*" + +[packages] +python-dotenv = "*" +psycopg2-binary = "*" + +[requires] +python_version = "3.7" diff --git a/module2-sql-for-analysis/Pipfile.lock b/module2-sql-for-analysis/Pipfile.lock new file mode 100644 index 00000000..3563fefe --- /dev/null +++ b/module2-sql-for-analysis/Pipfile.lock @@ -0,0 +1,88 @@ +{ + "_meta": { + "hash": { + "sha256": "6e012adf35115628b728f1920d5e8ccaec5608295c23ecc53379cdfe8f241264" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.7" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "psycopg2-binary": { + "hashes": [ + "sha256:008da3ab51adc70a5f1cfbbe5db3a22607ab030eb44bcecf517ad11a0c2b3cac", + "sha256:07cf82c870ec2d2ce94d18e70c13323c89f2f2a2628cbf1feee700630be2519a", + "sha256:08507efbe532029adee21b8d4c999170a83760d38249936038bd0602327029b5", + "sha256:107d9be3b614e52a192719c6bf32e8813030020ea1d1215daa86ded9a24d8b04", + "sha256:17a0ea0b0eabf07035e5e0d520dabc7950aeb15a17c6d36128ba99b2721b25b1", + "sha256:3286541b9d85a340ee4ed42732d15fc1bb441dc500c97243a768154ab8505bb5", + "sha256:3939cf75fc89c5e9ed836e228c4a63604dff95ad19aed2bbf71d5d04c15ed5ce", + "sha256:40abc319f7f26c042a11658bf3dd3b0b3bceccf883ec1c565d5c909a90204434", + "sha256:51f7823f1b087d2020d8e8c9e6687473d3d239ba9afc162d9b2ab6e80b53f9f9", + "sha256:6bb2dd006a46a4a4ce95201f836194eb6a1e863f69ee5bab506673e0ca767057", + "sha256:702f09d8f77dc4794651f650828791af82f7c2efd8c91ae79e3d9fe4bb7d4c98", + "sha256:7036ccf715925251fac969f4da9ad37e4b7e211b1e920860148a10c0de963522", + "sha256:7b832d76cc65c092abd9505cc670c4e3421fd136fb6ea5b94efbe4c146572505", + "sha256:8f74e631b67482d504d7e9cf364071fc5d54c28e79a093ff402d5f8f81e23bfa", + "sha256:930315ac53dc65cbf52ab6b6d27422611f5fb461d763c531db229c7e1af6c0b3", + "sha256:96d3038f5bd061401996614f65d27a4ecb62d843eb4f48e212e6d129171a721f", + "sha256:a20299ee0ea2f9cca494396ac472d6e636745652a64a418b39522c120fd0a0a4", + "sha256:a34826d6465c2e2bbe9d0605f944f19d2480589f89863ed5f091943be27c9de4", + "sha256:a69970ee896e21db4c57e398646af9edc71c003bc52a3cc77fb150240fefd266", + "sha256:b9a8b391c2b0321e0cd7ec6b4cfcc3dd6349347bd1207d48bcb752aa6c553a66", + "sha256:ba13346ff6d3eb2dca0b6fa0d8a9d999eff3dcd9b55f3a890f12b0b6362b2b38", + "sha256:bb0608694a91db1e230b4a314e8ed00ad07ed0c518f9a69b83af2717e31291a3", + "sha256:c8830b7d5f16fd79d39b21e3d94f247219036b29b30c8270314c46bf8b732389", + "sha256:cac918cd7c4c498a60f5d2a61d4f0a6091c2c9490d81bc805c963444032d0dab", + "sha256:cc30cb900f42c8a246e2cb76539d9726f407330bc244ca7729c41a44e8d807fb", + "sha256:ccdc6a87f32b491129ada4b87a43b1895cf2c20fdb7f98ad979647506ffc41b6", + "sha256:d1a8b01f6a964fec702d6b6dac1f91f2b9f9fe41b310cbb16c7ef1fac82df06d", + "sha256:e004db88e5a75e5fdab1620fb9f90c9598c2a195a594225ac4ed2a6f1c23e162", + "sha256:eb2f43ae3037f1ef5e19339c41cf56947021ac892f668765cd65f8ab9814192e", + "sha256:fa466306fcf6b39b8a61d003123d442b23707d635a5cb05ac4e1b62cc79105cd" + ], + "index": "pypi", + "version": "==2.8.5" + }, + "python-dotenv": { + "hashes": [ + "sha256:8c10c99a1b25d9a68058a1ad6f90381a62ba68230ca93966882a4dbc3bc9c33d", + "sha256:c10863aee750ad720f4f43436565e4c1698798d763b63234fb5021b6c616e423" + ], + "index": "pypi", + "version": "==0.14.0" + } + }, + "develop": { + "autopep8": { + "hashes": [ + "sha256:60fd8c4341bab59963dafd5d2a566e94f547e660b9b396f772afe67d8481dbf0" + ], + "index": "pypi", + "version": "==1.5.3" + }, + "pycodestyle": { + "hashes": [ + "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367", + "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.6.0" + }, + "toml": { + "hashes": [ + "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f", + "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88" + ], + "version": "==0.10.1" + } + } +} diff --git a/module2-sql-for-analysis/insert_titanic.py b/module2-sql-for-analysis/insert_titanic.py new file mode 100644 index 00000000..4024ce45 --- /dev/null +++ b/module2-sql-for-analysis/insert_titanic.py @@ -0,0 +1,49 @@ +import psycopg2 +import sqlite3 +import os +from dotenv import load_dotenv + +load_dotenv() + +DB_NAME = os.getenv("DB_NAME2") +DB_USER = os.getenv("DB_USER2") +DB_PASS = os.getenv("DB_PASS2") +DB_HOST = os.getenv("DB_HOST2") + +conn = psycopg2.connect(dbname=DB_NAME, + user=DB_USER, + password=DB_PASS, + host=DB_HOST) + +cursor = conn.cursor() + +sl_conn = sqlite3.connect("titanic.csv") +sl_cursor = sl_conn.cursor() +titanic = sl_cursor.execute('SELECT * FROM titanic.csv LIMIT 10').fetchall() +print(titanic) + +titanic_query = ''' +CREATE TABLE IF NOT EXISTS titanic ( + Name, + Survived, + Pclass, + Sex, + Age, + Siblings/Spouses Aboard, + Parents/Children Aboard, + Fare +) +''' + +cursor.execute(titanic_query) +conn.commit() + +for character in titanic: + + insert_query = f''' INSERT INTO titanic + (Name, Survived, Pclass, Sex, Age, Siblings/Spouses Aboard, Parents/Children Aboard, Fare) VALUES + {character} + ''' + cursor.execute(insert_query) + +conn.commit() diff --git a/module2-sql-for-analysis/rpg_db.py b/module2-sql-for-analysis/rpg_db.py new file mode 100644 index 00000000..34485bac --- /dev/null +++ b/module2-sql-for-analysis/rpg_db.py @@ -0,0 +1,50 @@ +import psycopg2 +import sqlite3 +import os +from dotenv import load_dotenv + +load_dotenv() + +DB_NAME = os.getenv("DB_NAME") +DB_USER = os.getenv("DB_USER") +DB_PASS = os.getenv("DB_PASS") +DB_HOST = os.getenv("DB_HOST") + +conn = psycopg2.connect(dbname=DB_NAME, + user=DB_USER, + password=DB_PASS, + host=DB_HOST) + +cursor = conn.cursor() + +sl_conn = sqlite3.connect("rpg_db.sqlite3") +sl_cursor = sl_conn.cursor() +characters = sl_cursor.execute('SELECT * FROM charactercreator_character LIMIT 10').fetchall() +print(characters) + +create_character_table_query = ''' +CREATE TABLE IF NOT EXISTS rpg_characters ( + character_id SERIAL PRIMARY KEY, + name VARCHAR(30), + level INT, + exp INT, + hp INT, + strength INT, + intelligence INT, + dexterity INT, + wisdom INT +) +''' + +cursor.execute(create_character_table_query) +conn.commit() + +for character in characters: + + insert_query = f''' INSERT INTO rpg_characters + (character_id, name, level, exp, hp, strength, intelligence, dexterity, wisdom) VALUES + {character} + ''' + cursor.execute(insert_query) + +conn.commit() diff --git a/module2-sql-for-analysis/rpg_db.sqlite3 b/module2-sql-for-analysis/rpg_db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..837d7f16116f34e53935a4560c69acb17766b29d GIT binary patch literal 253952 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 Date: Sat, 25 Jul 2020 01:56:40 -0400 Subject: [PATCH 5/8] Assignment 2 --- module2-sql-for-analysis/insert_titanic.py | 18 ++++++++++++++++-- .../insert_titanic.sqlite3 | Bin 0 -> 77824 bytes 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 module2-sql-for-analysis/insert_titanic.sqlite3 diff --git a/module2-sql-for-analysis/insert_titanic.py b/module2-sql-for-analysis/insert_titanic.py index 4024ce45..2930d31e 100644 --- a/module2-sql-for-analysis/insert_titanic.py +++ b/module2-sql-for-analysis/insert_titanic.py @@ -1,8 +1,22 @@ import psycopg2 import sqlite3 import os +import pandas as pd from dotenv import load_dotenv +connect = sqlite3.connect('insert_titanic.sqlite3') +cursor = connect.cursor() + +df = pd.read_csv('titanic.csv') + +df.to_sql('titanic', connect) + +cursor.execute('SELECT COUNT(*) FROM titanic') +print('1. ', cursor.fetchall()) + +cursor.execute('SELECT COUNT(*)') +print('2. ', cursor.fetchall()) + load_dotenv() DB_NAME = os.getenv("DB_NAME2") @@ -15,7 +29,7 @@ password=DB_PASS, host=DB_HOST) -cursor = conn.cursor() +cursor2 = conn.cursor() sl_conn = sqlite3.connect("titanic.csv") sl_cursor = sl_conn.cursor() @@ -44,6 +58,6 @@ (Name, Survived, Pclass, Sex, Age, Siblings/Spouses Aboard, Parents/Children Aboard, Fare) VALUES {character} ''' - cursor.execute(insert_query) + cursor2.execute(insert_query) conn.commit() diff --git a/module2-sql-for-analysis/insert_titanic.sqlite3 b/module2-sql-for-analysis/insert_titanic.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..091a1272ab5e5887da69a8bb07fdc82b75e367a6 GIT binary patch literal 77824 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

L|wss|!=jNj`3+G7UEy=|+Tc93Y;=rbbsE{IoI@ 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 literal 0 HcmV?d00001 From bb24c2b88cbefdf2a04a444f3ce81023801791dd Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Mon, 27 Jul 2020 23:08:57 -0400 Subject: [PATCH 6/8] Final --- module2-sql-for-analysis/Pipfile | 1 - module2-sql-for-analysis/Pipfile.lock | 27 +--- module2-sql-for-analysis/insert_titanic.py | 116 ++++++++++-------- .../insert_titanic.sqlite3 | Bin 77824 -> 0 bytes module2-sql-for-analysis/rpg_db.py | 20 +-- 5 files changed, 76 insertions(+), 88 deletions(-) delete mode 100644 module2-sql-for-analysis/insert_titanic.sqlite3 diff --git a/module2-sql-for-analysis/Pipfile b/module2-sql-for-analysis/Pipfile index 99609ec7..af9e4fc4 100644 --- a/module2-sql-for-analysis/Pipfile +++ b/module2-sql-for-analysis/Pipfile @@ -4,7 +4,6 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] -autopep8 = "*" [packages] python-dotenv = "*" diff --git a/module2-sql-for-analysis/Pipfile.lock b/module2-sql-for-analysis/Pipfile.lock index 3563fefe..5b045753 100644 --- a/module2-sql-for-analysis/Pipfile.lock +++ b/module2-sql-for-analysis/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "6e012adf35115628b728f1920d5e8ccaec5608295c23ecc53379cdfe8f241264" + "sha256": "a752871a27baa56670a0b6819d9ceb382c45d6b85b7582cf470086535ebba601" }, "pipfile-spec": 6, "requires": { @@ -61,28 +61,5 @@ "version": "==0.14.0" } }, - "develop": { - "autopep8": { - "hashes": [ - "sha256:60fd8c4341bab59963dafd5d2a566e94f547e660b9b396f772afe67d8481dbf0" - ], - "index": "pypi", - "version": "==1.5.3" - }, - "pycodestyle": { - "hashes": [ - "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367", - "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.6.0" - }, - "toml": { - "hashes": [ - "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f", - "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88" - ], - "version": "==0.10.1" - } - } + "develop": {} } diff --git a/module2-sql-for-analysis/insert_titanic.py b/module2-sql-for-analysis/insert_titanic.py index 2930d31e..adf9b505 100644 --- a/module2-sql-for-analysis/insert_titanic.py +++ b/module2-sql-for-analysis/insert_titanic.py @@ -1,63 +1,73 @@ -import psycopg2 -import sqlite3 import os -import pandas as pd from dotenv import load_dotenv +import psycopg2 +from psycopg2.extras import execute_values +import pandas -connect = sqlite3.connect('insert_titanic.sqlite3') -cursor = connect.cursor() +load_dotenv() #> loads contents of the .env file into the script's environment -df = pd.read_csv('titanic.csv') +DB_NAME = os.getenv("DB_NAME2") +DB_USER = os.getenv("DB_USER2") +DB_PASS = os.getenv("DB_PASS2") +DB_HOST = os.getenv("DB_HOST2") -df.to_sql('titanic', connect) +CSV_FILEPATH = "titanic.csv" -cursor.execute('SELECT COUNT(*) FROM titanic') -print('1. ', cursor.fetchall()) +# CONNECT TO THE PG DATABASE -cursor.execute('SELECT COUNT(*)') -print('2. ', cursor.fetchall()) +connection = psycopg2.connect(dbname=DB_NAME, user=DB_USER, password=DB_PASS, host=DB_HOST) +cursor = connection.cursor() -load_dotenv() -DB_NAME = os.getenv("DB_NAME2") -DB_USER = os.getenv("DB_USER2") -DB_PASS = os.getenv("DB_PASS2") -DB_HOST = os.getenv("DB_HOST2") +# CREATE A TABLE TO STORE THE PASSENGERS +# +# ... optionally renaming some of the columns, adding a primary key, and changing survived to a bool + +sql = """ +DROP TABLE IF EXISTS passengers; +CREATE TABLE IF NOT EXISTS passengers ( + id SERIAL PRIMARY KEY, + survived boolean, + pclass int4, + full_name text, + gender text, + age int4, + sib_spouse_count int4, + parent_child_count int4, + fare float8 +); +""" +cursor.execute(sql) + +# +# READ PASSENGER DATA FROM THE CSV FILE +# + +df = pandas.read_csv(CSV_FILEPATH) +print(df.columns.tolist()) + +# to avoid PG insertion errors related to datatype mismatches (psycopg2.ProgrammingError: can't adapt type 'numpy.int64'), +# ... we need to convert np.int64 columns to normal integers +# ... https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.astype.html +# ... https://stackoverflow.com/questions/34838378/dataframe-values-tolist-datatype +# ... https://stackoverflow.com/questions/47423930/how-to-convert-pandas-dataframe-columns-to-native-python-data-types + +df["Survived"] = df["Survived"].values.astype(bool) # do this before converting to native types, because this actually converts to np.bool +df = df.astype("object") # converts numpy dtypes to native python dtypes (avoids psycopg2.ProgrammingError: can't adapt type 'numpy.int64') + +# +# INSERT DATA INTO THE PASSENGERS TABLE +# + +# how to convert dataframe to a list of tuples +list_of_tuples = list(df.to_records(index=False)) + +insertion_query = f"INSERT INTO passengers (survived, pclass, full_name, gender, age, sib_spouse_count, parent_child_count, fare) VALUES %s" +execute_values(cursor, insertion_query, list_of_tuples) # third param: data as a list of tuples! + +# CLEAN UP +connection.commit() # actually save the records / run the transaction to insert rows +print('Titanic Data successfully saved to Postgres!') -conn = psycopg2.connect(dbname=DB_NAME, - user=DB_USER, - password=DB_PASS, - host=DB_HOST) - -cursor2 = conn.cursor() - -sl_conn = sqlite3.connect("titanic.csv") -sl_cursor = sl_conn.cursor() -titanic = sl_cursor.execute('SELECT * FROM titanic.csv LIMIT 10').fetchall() -print(titanic) - -titanic_query = ''' -CREATE TABLE IF NOT EXISTS titanic ( - Name, - Survived, - Pclass, - Sex, - Age, - Siblings/Spouses Aboard, - Parents/Children Aboard, - Fare -) -''' - -cursor.execute(titanic_query) -conn.commit() - -for character in titanic: - - insert_query = f''' INSERT INTO titanic - (Name, Survived, Pclass, Sex, Age, Siblings/Spouses Aboard, Parents/Children Aboard, Fare) VALUES - {character} - ''' - cursor2.execute(insert_query) - -conn.commit() +cursor.close() +connection.close() diff --git a/module2-sql-for-analysis/insert_titanic.sqlite3 b/module2-sql-for-analysis/insert_titanic.sqlite3 deleted file mode 100644 index 091a1272ab5e5887da69a8bb07fdc82b75e367a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 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

L|wss|!=jNj`3+G7UEy=|+Tc93Y;=rbbsE{IoI@ zH=INz^WY)BeS@q3tx9KoY_Mjm)H<~zNj{N7FNea_%6A5|9Y_Lajd1JJ`-u`{`9WnQ z)*?sh)VPPLB|iko^bS=CGoDCpJJRQ&GC|{K#vc z*gn;3pGE0m8mywt5DgZhgq~0&%^(_&5(iHoGoKD|Gg6u*nUa=FR$5J6B#etGsx{72 zm%VJj_B6cnBpZ#7Qr!{lx32GVtRU5@^m#-RQiV}zkUFLewY4(G0bUoxkwDJFEOXOw z4vSck9;8~7HVw5BZ37Y3TH|Ca0|}7Egbwud2D{oZW|~_&*~D6!PN1eG+2e|WQbj|) zxPj5^q^UE7N7F>B;|4AG@8H|P*MhH1y#F`x{@=v=fB!$<|I;+1eB%ATiTD5b1(u2T z|F$w6Cf@%mXF5#0{}*IBOuYX$@%|sZ%Q*4=-^BZW#0L}a|Mg6~|2Oge-~apjf5K*` zw*Utx?+^KB`X~8ae$98< zcglCt_pI+J-{bD1?kn7vA~NBid(hqI-s9fsZg)4kP4`N7xjWw-a?f;6a=YA`>$K~X z>!j;h*HiFZc*u3ab=-9~au^;%EW;J9OI?Ru2VH}%KGz=CPFK6D*<~WTLAfj66>`mV zO>((hn)9^tl=GzXS?5#E$DI#3PdJY|?{?neJmx&=yux{@^RV-va}aqD_c(Vt+nvo$ z)49@F?#y?FoHL!1oQRxqoOYaYoJ5v{ryP$v9&(&;9CzI9xW#b{ITNpNT9g`d`hh{%*KV?5@e-^$KkJ}%zpRgad-)+Cee$0N< zeue!~`(gV*#9j2+_t)@(CvD{bYrd|Svi(>BTGvT4R?fl-I}RFyMxU|A*lDyI&4!6rBu@B_`|kGL;yZ@- zB(CsX>O1T^=o^G@$sXTMU%Ri_XZlw9%6<91kZ-1MlF#MSyr;dVyeGZSdY^*t$wS@~ z-s9f8y|=&%<*4@x@1@?u-h+6JqR+d>yVKk5ZT6bpmELl1zBlBZ>7C?tc{R^z&naZ9 zc-Hfj=W)+No)ezqp1VD_c#a{0HE}1ml1n zXN>6sjQx6yai8AL7}fVN_UTc^UcHZTuincT(f2a;=n=+ly@#<&?`90^U5tD5Fyn50 z597J|ZpL%;a~aRp&tW`EKbvuveiq}I`Yy(u`k9P7^qq{`^&O07=-U~$>1Qx@>f0DQ z^iIaDdIw{>&ZkCwi{8%v-mGt7Y|}S0w(4z+oAg%37JU=rM!kixS>MRmq&G8e(3=<= z^$m;-dLv`K-oRL=*E81Yb&RH7%eY=Q8Q1CS8Q1FT7}w})8CUCT7+2}58Ef=aj4SmT z#ufTX#%g^9<8r;4ahblHu}WXYSgBVrR_K+C<$48Una-z1y;Lvbf0yW`jKz8hW079W zSg02<7U+eH`Fa84Qazt>iN2I^vA%?Hk-nI5p}vSQPhZHmK+j_g=?fU=>mkN@`h3Q@ z`aH%t`dr4@`W(hweKzAPJ(qE&K8taNK9g~}K7(_2cu25Ga9;$ zQP&MdM8-2}h&Z;5{~zA4^fd_%m+__}z5@ip-}<0|0Mp* z_($<4#y^NZGX7rtf$ei>y3%P*tUVEJW~7%abxVuR(E zQDm_EG760%{=EXDkTKsVU|eeCGcGZfGA=fjFfK9{GcGh1G3FTy85bCNj3HwI<9s8; zIM0~RIM3ND2FouaV6gl${07S}!)LJkGQ0-MFT-Pa`S;w0htXxY8J&iU(P20l z?S_NVX4n}G!^Q|rpHUb(qh<&~{X;`z{6PPZ@qPUR#((SYGrp()oAF)!J;rzRcNtIX z?=ZftpJx1*{x;)V`o9?8)Zb!!LudJ=zpk_V(qGeAe(9%lmS6fmb(UZHt2)asWCCOP zrT<-L`K7<2v;5Lu)?eY@dr5zp@udC|!+*JD@#74$QM*SA{sw3L!C+P3 zgTN01p9r)DruhHjzsVo-*Z4iYKj6f+&sXDfd7ts#?!Cyn*&Fga@A;nRUzudpzAv104#UD>->T9v(DYlBF8(9pWyAkHpf)^AMIbX$L%$Cr|k)xFeA1? zx9HvaJaI~VPh2I=6&2e1=+gi2r#S;pBDb3Y{NNn%0lS$fFG*y& zv4T5W;e<_L`@;ya=tvCr4UxNr^4+O6+wNs=iHZ!n7%5Mt_sKg$y2x7Tvk_d5*cEaE zS!Ax-$j+998TKYp5!^DRkE|qL(xQ*+EN8)r3_BCa92(+1_8DoEPo!G!K{X(07}bFj zvK;Wz3^^33r1XMv`5=}pj9@i5-f+^VTq~1oMTQ-T)UUt8UrGlo(4&`LILao_oMTpB z!WoH*GVmfo!awQza(bLY3Z6sgf$uK$WwGVkUYCIr5kD&jM>X-bbYHXr>kv?&yhQWi z6gTE!T0rkl`bI$!roM_FzR6@cp>qtg{|S}xCpex=E7ojo~p@^KaqL@ zMIdz#`|l!QHuC3C3U|0sZCQ%<3uAb%KzY=_D_o`?D9x~Uk#ep?8XvC9b?OnTHLil1 z@PZ6G7AY^!*LWJ?xd~TE#9hj`_-uaLq73|rvi|JI*8^g*TOwr;vHUQRgi`t?wq)Q( z0=6ugE8b;F@+F?I zK~|ye{%qt3-grSsnoPaA!Yt)wR<$w{C#J(x(31U!q{!G>ZG&SX0yG;bkE`-f#KU!0 za)Qdz%mB5jBBB1yts(+A`=o&NrT`u^k&m2JWnxr8MX0>O6;v>D2Rz6Sph5`@6{AnH z7HV0hpD3l0Nxn>E?Fi%T1>}eu4)=x;27@dZ#E?y9^9lCRs?6-88mgU_sD|{f!%X*c zJ8cOo1aO5Fr&XMZQs>m_LmD5{LiS@!HKH%zUYFQUZA`NQDb{BC=<`mwa$e-mHznd& zsNg|7>4=;*9T9kdl52Q#xR+X``curRw>g#fvJA3w@Dmdh1n@%E%d-)#f1%dM5V4Q@ozjjl>w9H775`I zx=uA#S@{m@GRV`xL389p{#WMEG5M0sZzBZ^+}QXL*DeGYP{teO;JK?ZgXA6XEtPJA zNaVvSj)KKGGGTnKAXnDozAS?T9te_@wEYY9b$s$vnJtz2I?KwHT9FA8HC66IO5pQ))Fj7=gE?;)buC#bDKeL;L!&G#M zKe2x;lB46vjnU8!B;ZFxD$+Gk*A~}g&ZSS``A=@Vf6PuWI1wT3mY5yq#p@n(M69Zn~NOSzgPPnX{=ywPpUE2gGSVWCqRj<+i_XQ@iG{-5DW$gYcwd=@RnUM8Mv&XK~aAhS!6fmq||aSrW@a7YO| z!UNv%JQKp01Q(o6kaMz@s)Y%RB zE1he>Auq66QkmI`uPtfH@9W4&s6>3YmqZO7I~o9GiR)Kd+R2hkJ2k<3gG>C9ImD7r z_2Gd*$`VNxrmf6up$|D~*eQO&eL>16dTSYhq;TkuL6SBl;@x2cJhB`05-X)rQD*bF zVaVrpI_Xs&OmuWeIZ)?WOSd%BMqhK5FCl);JwpCwykwINutE$H)CQ@^mHP`at*Bt7 zpMI1WS4~PYIGE)^nOSc#ZHqIT=*QLO@d%H?8ZJ@`s4Xqqm!eDy=Frmg9;Tm`8&oa7 z8!1J1xkby;%trcgwa-4JNQ6*Gq@dWcR6bftw47|Isim1_ViBe0{7eNJG$KkJ;o^wM zji~tON-IERb%qjiSebVp{0~vzA=eKjs>UWUYGvdpFgL!+3{sInDh?|vruZq1#@do7 z+5mx4AZvvAqt+TzQKpf)s95kPJSNW9-4ezlI{U+%B0u{kWpM_XII`sZF@H_L_=A0j zg6bJLbcmhEvkwlIXOM#fi96)}@c?y5#s0T)K9NYA`jJKQjq2 zh=+72P*i1JXoZduM^*`bLJ;$=HdeLHS7vIdZ(v{&peN)=;=OqDw+HGUVsBZ|AFl(< zv2=j43@6>d#FC)-A+zLoIYVNFdbuboRH`%UX=EI8=M+C^3nR!T%a-c>7?1=}xiZ*k znWf#V%B&-LL(LY%P4AqGtISfz^)?EUfZ#zsf^JGK)e#w`2VfFX($7Kg=SrG+ z6?O1!#g!Dk&bfebPN1+!t9!-$;*;VWQHt~b6S9B**JZ&G$R#TdPH&PTnBP~4 z#1A3ds3nZ7&n)B1f~7}TB#{h5lIIOlZ|oRBx;K?$SMIP(QEx9G?ZB-Lm{o8WAZpiW8v$YH`tvd@}Vd<0?%djPKl-DGk! zB6SUARiGTzF+MV7L#tLFVNrx&NJufA^8bMOm57y{l^NUiSp#6OlFwc>A0dfD`PT)g zzLM#t4#coMA@7V8iHR^&1iR7>Tst@jscG%O%XM?(_qWI1oWG#x2!xTfq3SD`L)Fko zwUEndoweZ?9)T3XxFmN}Gd(zt64_X-BLa9sMVKC`9=EcV^T$?nTLZ*ulEWP5Sa}PZ zjx49oksgFr?lOE1R^oFAm|#FAc;aX^2xd;IN(s!zr9+x)vqHy8jw~BD%T?U)Mv8M& zuW_q~JrIVc9`-m=rM@R}R`U01mRn#$u>v0vx~d)@uQ^gl6{HF9m+|ZJ7n0gzp#dyB#n}VUMCmFXT#GWLB^W zxYsE8cv=iJw!dVBus{dhiPN40@(M-c!&pf>*-u0!NRv ze9Fyw+6;dFSm6<*?{K-LI;wM0AGLUP;Bn)C#`EZN$O3|R=@_d$n1fI#S^;dF;ULs&v5 zAsYk;fsjrhqzNH}uq9#XA#~_r(!j7xcmIC(R((%lrf0g(oH=t&ALS1h;(Yb0>Q>dQ zyZr9GtGJ6AQ*2i1E<&f7I7+jolm+AtBE0$Hh2MxDJX!CrHRp~GMC)1#b3tZ>~%@Vs%$2T-N<6V z3|lx))?l?bRr`?0Z*6{py&!PHDq)tQ7X>&qawWUu8PW79$n2EMUv{s%8%#OF_e16YDJ`gmvAeS}7etV_4q~_G6e<8-1<^K7c z9M}aXw?vj?=O&Zk$B9K7{3WComH?xXS!|D%O{xN`ENb&mR!}t&?}47Q5~dU1Di^WS zU(6pE&>vW2e_$J4-9hXUEQ(0kl7_H_BwnIwM!zA&81*-5{Y99n4 zYc6}}#%q!*>ixMK70iQo?Q9{X<>9!TI6j(T7`dM`Awi9QHovz|*je&D;^>F7EWB|z zE6EU}kL&!iI74RdfCyS)>9G6gG}t?Hp-j(oEty4aeg%IUj0Os)VYM8X?QsCOqfRc- zlv||se3Pn@(=eymM^+AJ#584g4OFW3Lyx1TnI5L?lf9x;9yLCbaX9uZHFD%B-iocE zw#biHr;b1PkFC$$KG^6Z8;8qSZA$Dy@N!IJf2l75_D zt3GN9?AnkLH?ePYN=^XYF%_>G{Q^!>{d^{0Z=D$a@#2hSpkP?_3)mF#AnpU)q+ zN=Tkg1-ZJAi#t69kBW*g5HxjwPCt)3196x<(o+WR^oY(xE`^w;DPiuy44q;q{%E&s z#iAPDx)A#R z{Uw7Xb;ZvX-%)(5ctf!VT=X49`-+wq{u8wScNPv7*24S$B=GP1;>!wNEx51Xnu6^G zi-1ypB>#r|%TNR0#k{-nt_GHTp7&kvBS46+^GeOr=0oNUW&`y9=TQUTRBTNwf6mi- zRsVzkwgluhVn+sxdlyM&pILb4DNZCbR}3%4I^$BsGz4Hf&TMOL5obE6fUPy8kK}rzrpff<0GH-P`Ts(BmqV z;l-S=&+FXOVx3u201jl+(!|XTukW&}suvHX?SdNiDjBv1!hh6MXf!Vn$RI{A7@LNX zG?czcqy(H&P7jCc559Zt;Qe=11!P9@c!ATu&AoV%T73&%ahITU?);iSSdG1GZxwN*+eeZqTEx6*rN0F`$`XFQ==ugnmvXkTWn}(t3$kAEr zl9|^8U_%iLd5f&7H;e3`Q&|>HvPpgHs#XW!H)5uwFnB#rwfewNPAGE{hZ^Dm8XoGV z)Ift6n>zwwJMH4aF>kh%5by~!rT@L}CK-V76ghs4>_8ZBGn1t;v5P-36*Ep8ILZ49Q+A zU0%pd{+rm#N=k3UIK1D?^5yJQ;0BOycOj=0E5pN=6rf{^IpS$PqYPWYuS-{q!dT}WZ9jB^BA=Hg3(c(@JO7tQtpiS)Gl3LP!UF(U*o@?^~&nYSbE`p1ebU&TLu=#;J_F~|^vNK$j$4}FJ zN=om>6vs&fs|Jk8aPHmSV%=O;(wgg%JU07+&aulnC4IV?f*7XZJ3+#qR(v-S+8C^Gf1FQXEo={jOcnywAw*gothBTcP*Kn>& zrq${nC*4@~19UsaHGl!bcjcB^rv;p+TjoEdK#x@BbuTpcjq#DVnq zpiQ~H*j2iz^RxDI?#@wtQPZc9(F)GaZi0RI>x-Ni*5n`M0)Q5P3(cS~jstYjUt{xL zvSOX%R(YmsyMKfu5O{?V4r4;#ACZuW^9YDV5?mhEDsYh<3Q58<&TO}XgZeBja&&L@ z5A(;Ybt5CIgVA6{T2xJa%1K|~5}zjh3?~ic5EPb;~ zk~RKi{8$P*#?7Vjan}%vmEkm?=-z}fXF;vWWn7VJR7+&izm#*cXW{_ohF1^oQ4et( zdVJR1C>GIX{{Y9Zy!8?tLr%6ke<)K6k&2z_+?iYLUxH4yKBn2v-*^16M@CZ5E&HrY zbtwR`-rvuGti^Mm32(&(d7#b8uhy2kPE9$(Nor}WCR@(%XQ=0>!3BWQ5b3PFI1 zZvA4w`lJE&7>B!2cWi-Kyv7GaN4)7g_In1hoG)_qNo5wiZHXBMW6pVX%2pSs@n-;b z%z(@p>=mi-w8$AhhHkGK_6mQ13lt@|(Dcj4&MT42g}=JN2Pg+NPn8xfwp_s`AtlYB zzGt#{rF8mBm$mvA^LKI3$h>#U?@ASxP3e;WYvSO#B*&c23g`2v_II>t-zNpJ_hm)(h*?Mg-Udw}C1iKpz{(Em4kbIs4pUFKS|-W0^1iM=2G|LRz5&NG-4|7!?@ z4_U+c3v!hDK)dloCwL=EQ;bfY#4>IA(D`L`0r-zS9xWl3(fQL`<9n(PwW_Rj+yG!0ojg|9f27Hk$a?&FvOGY#7?jtR2-BaElD*$A=BcEGU>1 zz=2N0ft^5b1K>N5c9bhDNmafkBc%c`9my?^t81RYNZ^uUG`3QB(iJG(4gnb$KG@Ov z1+}R^RO!vD3&4<~oAFJdYA*qdQD$gfq$n?RTL5;XwSzHFfeG50sSfW)-a@dDIPw;! zw(CPv9XNhOh2d$TiHfef1>x31l#g_2E^7#cAK3%<4f)ocAMJxXh}_sGvx20#psYC% zenj~UlX^`>kkdlTPEn62i3MJH20m%v`T$+fL zE-Gn3BN`Zm@5`boDtUEoy{#(f;jai2j2Ykyao_CI3q>l2u4^r83A*{EeGk4Wl(A@J zTXg_Zlmi@`pSs|;;|u<{yQezX%Jm6;FJ=T#*fk6RC2?tH5Na9x$I~d{N>Vnp)&yM` z!I}QQB3EBz=)?|+5As#DgQTqqw(y6oz4yy%)Bw+cZxBK#l@ibot_)Y(W`T<+Xb(1X zr>y_;(HUTF@NB|Uv!n2Vj56(OM#S*ERKwL`Olt@>aY$=N`I0?LBI~2rB@`Ox5OY;u zI)YAi=u=(&5iZCYx)6xNZ2II&h(3W)<*2PSUgH9w8iN$4X$K>q5Vt<6KQRNbQXfGK z0w8xR>x`K%%(#7aL*d-D*0ridO#uKpR&A9qW>nIuArPRBeJ>xj zS3~mVcSBW7!-6kcv@liqTd^NB1%lL}aTHR`=PbJ$NN0imaqwn6)N`HAxHh~yhamlTj^l^jL~Qox&Y*+zxlAYWpq_Tr20Dy0r6D2kBuhOOiwT`Pf%7app(bVT zR#UK+=b2|8>wkcY5$Vi1=yTrr)y_HJ60~#I87+YI15zmbYDa|X>_adVtZzD5WF!Bj zR86Q3)^M^`7r0L*t0J156Ot*C>sx|0ervC>7V3!v`#%*MTiw~J3R<}o>sq>3tgy0{ z{h6$6`g(UStAmyqbGb+6vg0TstY833r^S}C(23J4gJ!OFxf1zqB{E!=07!ApE1mVT zK3L7~D7%7?e-pi%0CXmxQ%%|zGcQ&1Z9)AfgC-sYD;G=29qW7R96~V@RzlVCa7#Nb z3>x_l)VI~jz^f8CN`%UBu)Mwk>B+jxd(%Aw4eG)G&J zy3Ty4AL9W1{A!mf!VS-?8&5FA6T;&|Ok@-P|t3%#G~!V<3InTF6st zucIO`$Eio{!7}!@Cepu>{?aISVAXfX}}@FCDPI$OUqgVf_0o_^n>!Hii&+iBf!KCUllHz znk~0F5vwWyT&J)I-VC~;KVUZyKysW~vBcV$EN$%%mY{-Q?9KVm2XNk52M62rZyfj; zQP4R=2VN9}BFSCQO-xp82^RDG$h#CXx5-bwP6V>nDOA`wfe+8Uh4 zZKjC>pTAG$kC@ES$X?qEBiAWl#${G;EZr+dzdD%5QS8(9Ug@?wb8M2n9qSHQk+M$q z=HOg>YonXY&D>}wZqX(-stzGFJ2$2}ZV}K#O>hneuzdJEGC&`Et0!oWO)HI(?!j6U z%;jFfTE{iNo6Z+KfQ}m?SjN^3CL3rru57US|L>nu@kGU2D*7u{l>esu@$#F>_m(Hi zeqZ)v+0A7~%36?J@A=X@OHY(;ERC0Zt>osCgC$kP&lG%a7W>i_^;xhiJyvh#fuBRQxFskAo~B6{0E@__lf`i<9Vm^wxj;vFOVUUkF}(8aC)Iv#^kIm%<2 zLU1RrL=hdlgmltkC7lR70O!v@)DUqDwWZW}w=o1;g3}rd5qVvfMuLAQ-iRUh(&Hu6 z`_BE__`*xwcb$9YrPQ**8~@(>^n-07SrvWJu=abE4ms&IpHG!slWp7h7yt&rA1N_! z*cyUyX>~Y^e7>?3>!VBxCx)?rY75oUJ*cS%Xui5G_4Y^3%T*y+nOekRo+1zR{XywL zM#L!VyP#}WDB#0!GP1Y_@F5x5>n(~&L`Gl-wbDfzPtQ~u+EaC8Y1E-BovpDg1RHa( zdk<(toc#l0m;n%X+u)dhV1Z6Oofa=(rGrD&hTvPaQcm1ks58NwVS9ijz&>?LQ_HRp z6{{@->w?8yPuv1tFmNW6JmwA*b6b&%;K zLYhBbo7!-XL}a#x!m&_^3(}8wuDvv{2|`8U7OU4?sXMRGq%PL@ft4Ydml`i)-Z`=Y zYg+D3!;z^wd)A_wa0b6Z$|FumZxg~80HozyqGG8{A^24^{j>RP6bjcpc?5zK3!bw} zgR@k&glBWVHqOHf7)J^vcgU$)(|Ws)RaLiOB=$0?)|-V*w}fYL_PE0kP?2!S^>Xk) zmZk+{P-a({m%1n+9H%v`;8^PEL3$>uQRn2Efn%eC5HFQja~+?*Ff8X_l*q6tWl92` zKpL0Tx7v%%$pY|?OJ=BDtck zS5uN8Hg2Y~gP~|3^cE$?*&U5x5s9Y;0llya$!XrT5$vy9=BFVZ%EA{8UoAR)>HBMLVYu z#QsqL5`b|qCgX3(4#FLUM^j9o zh``r(sVx z46bDtIg@eo&(Z}JV!Sw6gogBHGt6p2@-1-jiXFi<>|yON|3jyr#`836J)Xpyb;B`$ zM`uE{dQ_l%2o}X#Z>tNgW?u^v_~XpJ+Znl{WM1MPmexQ(K#dFIRQmp44+NKw)x+>^ zp9tq&b-S}Vcq2w}{>k6VOQ9ZrNX5q?jz9{}oEC=D;6g(-1ZQ{w2GrdDJAD-Ct3Z+# z;mlSn;dT;b?>JA3gN-x>(=!P9-(_h6jDqkwIiBb`?kZCOx~Fo=MZp_5BriDt0>70Z z-3wwv5;W39iw8?g9-b@Ra}=>_2u|}5TBF-<+=zHZAhu*_Mbr28TzARagDFnYs%^iP z4%=|6j~~zCoq+ZQn?d&2D2~k7l<2C}&V5!JOtPoEp>gw1(o<|a2-rKE1#Njk<~!Ve ze=xy?y-{9j^BT>r$Z>*VVB?T9P{5C?nnolPwKB*;@b_(jqFJv3IXx7JgK;+PWiFXe zTQJTkSnK@GV za~(RpEjTq}tp6%wS$j5uG{kiSAuh_YvBVi}I)anjk&95m9rl2KjN)hZWrso59@3PR zz=fA={Hd02cSLIoM%kC4nK%u<)T{11-2%;EfI6$|QDU(tzsYpg1|u`J=2e+%ZyNQV z@d&|Uq(V!C&g=+I@N0W{|G{k}cro00)&c~7G9DuYIt|GcS>`T&T`_@s{Y^S+&vJwvLnZj z=Q6ES!kTb|Q?fqypUIRYSQrR#r#E&E4&q(pQ9CQunv!|d2ZRX;b_y&0>1H_SBQ>*I zv!B?o8g|>-T^nRbA$zNSqMO08h?@OG&j}WNue^>m!4M|}ZIp}tv3$KVlg1r7v=b_+ z?9~E?SZWUr;ioAq)6Vv?N>2lmaE}r$2%uD=A6G8Y%vi(xPm?opcu^ zb|4G{I`Yo+v8)xRE1cZc5rToJdc^ct;DtR zH${ZUT^oX}(83}k1A7Q_FGEYAg%J|Lr+Wz2dNsab@2I5eX>0S%aNcVuv_m+_g;)oj!2e}EzqP!7@!&j4Ix1F0rAMxg=9bK zsEc_PZkUAGijI3=)i+JgD6m{pmJEgYSgr7K5m3~B2K9=OMpW`RwFPBsLg6qtjkF(J zW>4dm(J=`e?i#`#32t9Esyt^w=nF67z5`9i^M9%Ad(Pm$osw9N&+&DJGywS#LOd{7 zr?ZExa@XW+Dy`wAc1uW{12X5_?>R>fwn#YMJSSJJ4iB&!o_g3w!FjkRh}Fd|h|=HE{nDpDojnR0Y=2ra0!0R;&Tu~|548+HHjf}f@NwsbO7^BF zvWL@%UmOF97TYj0dDa5YWx=Tr_mNcA4zyPeTLwoJh7GzYT(Zy>=hWO1?&bFf^-ArL zA+2cxJw~9F3uytqqyyp*P`pSa7U}BssiD7kICjTKV_Ud~QztGEH+1xs%YfetDv()0&jpQ9{ukM+W?!4PIxQpVDQqo+|no}M;HzLGmi36yl%qn3w2 z3@O7aig~>n86Z~`^RUrBOP1A!z5Gfg8zk4^2?8-e5&Y{Uo8?YcX$g1mYr1c-LIoze zToIeZqc1m__kV8gKG%iY*~^kq@rlsjBtanrQ_IVMHW10Nr7qkyr(dK_i#V z=;M5u1F#UD%p9`*$jYUw!>xApJPuvLN38tdypVm9L!!`~<%}GyVHf*AIA@4j)B`lp-`EZ&6*ih4Zo^!)CeH&|4tTV_P!t5eknz-=)P&hMV!ZGtz95 zQ7|RMUu`~`l`IPh2SKO{H_f1Kr+nH+d=-HH02_}Ij!N@WLe>82u#=x#hL)1gw@Vf4 z-RW_CHRri_@wPC7wl6DOe_=}E0}(o|!(kz=R?>}`-S zb|IR?#bg8U2#+GqR4PHk%&oUIh8t$|xJY_9i{s=G_y*m@f()i{T~*;l>`|rruwHve zB1Vhlh}iPRa6M@W?+RCOVWbvYHaUA~^uD4{;`)E`+n%g`6l+Dja}leYlRqguR6)6KQ+!8+HmdxP@<^z>lXg z!_$2FKv|3Y->|za?BE>K0O75b^*UJ>+!;yg`VL9hpyEd$d&+&7(-5v@zqWZ`&~Xnb zdn^wV^8*ea9$Qf(O={D1lGk=+*iOPK^u=2v1NCC>dKLOI-<`W;xQ5?ZJ7SxBC){X8 z2BO8pvVQ%kHDMb+#oTFwZ;klq-Z5yKoz^~{1B#dkC{iD`a`FnV@miGd$Xbk;1y~@V z@+*xOJEgxdY{5X9V6V_?rU~L`CQ2bX@tFS zSgu-aYN2jMZ79efJP^DN^}_V*Rm+`*rS3GehXMvtFeB=6C=b{V4IC80d4*!tgRn%J zm2@v~LG^)7gmv5tVKjvvlJy`&#rnOrDm1@pU0BOySWaIf%do=3ZUpTi1Qho36Lza2 zGpl7}8^aoQ-lfuLwVhel;9xqj4VoKBpb6w6v4nl(ZAx zq_pGSgtTMcxU{FdF=>ZId;~kcE$jeB3$QzP&&^sh;+8dPiDlaYVLGLPQuk;Q|dxdwUw3mBVNPC%g zxwMyhmq~lTyHwgsyaUqi_b!okpSNGyz1}`)_jr4y9q{%@+wToXd$HFq?QT!%GQkqH zTmIhZ?UJ_7+bM0Y*C*``uUFdHI)Jr8huJ!SvvmN$Z_NLp4xsso`6}S=txPOVa+xyeRDt&5xx0f%&1d-#0&y_Iu|0(!OB6C+&C53(`JszANo_%=6Md zXTBrtx6O0XK5M=$?YGRc(mrFpCG9uOGt&N@`KGi_o4=Fx8|G7%fd!M;q+RvE# zq`lXCM%sJKz0%%o?veIy%-zy{+DKhSM1g-={{EDax{T(N=2P0bGx*EX{0VA zVmzcSqxqnbx{T%nM(Q#m-a_g!n%j)jWi+=Msmo~o+(=zU#3cN={LU@r{nEbA+#>CJ z&HJRi*}PZU_n4cdeYbg!wC^(Smi8v|E@|IsZj$yL=AF{sXx<_1+s%#A-eBG??Vp(& zqTqn5Doh1!gHQOMzJm%u-;M0<#pDrNAr&W-0LhlLB=i zVs9b<)|B{_qdc~wh(DKr65!W$lB+^Q-dIp!%$uYuUN8ndNbw3}{U$`8i4(f=!cYQj z5LV5o!U^kB&m|G)VF6G@$wsIj)T6KghK->F-UwD8=8Z={KE#L*x?iZB*t;RSrgxzcmsQMk%6v1%d> zEOG|fJ8ev7V<=%Y)){|Nh^8^}2>V8U+zdcig2IY|EZ2kxsEKgfqXH1f;Y<}GfUw5H z2tE^#*b)a4Xb%xh1HcQhK5=iv(y==;hK!?ohXK$)%n@=L1IiW^m|dxX+_mA1cpC47 zOi~bvirf^sfK_ diff --git a/module2-sql-for-analysis/rpg_db.py b/module2-sql-for-analysis/rpg_db.py index 34485bac..07461f1a 100644 --- a/module2-sql-for-analysis/rpg_db.py +++ b/module2-sql-for-analysis/rpg_db.py @@ -1,19 +1,19 @@ -import psycopg2 import sqlite3 import os +import psycopg2 from dotenv import load_dotenv load_dotenv() -DB_NAME = os.getenv("DB_NAME") -DB_USER = os.getenv("DB_USER") -DB_PASS = os.getenv("DB_PASS") -DB_HOST = os.getenv("DB_HOST") +DB_NAME2 = os.getenv("DB_NAME3") +DB_USER2 = os.getenv("DB_USER3") +DB_PASS2 = os.getenv("DB_PASS3") +DB_HOST2 = os.getenv("DB_HOST3") -conn = psycopg2.connect(dbname=DB_NAME, - user=DB_USER, - password=DB_PASS, - host=DB_HOST) +conn = psycopg2.connect(dbname=DB_NAME2, + user=DB_USER2, + password=DB_PASS2, + host=DB_HOST2) cursor = conn.cursor() @@ -48,3 +48,5 @@ cursor.execute(insert_query) conn.commit() +cursor.close() +conn.close() From fbca56928ad763a16e6d3486ea389a686d019841 Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Tue, 28 Jul 2020 21:19:07 -0400 Subject: [PATCH 7/8] Initial --- .../Pipfile | 13 ++++ .../Pipfile.lock | 65 +++++++++++++++++++ .../mongo.py | 38 +++++++++++ .../rpg_db_json.txt | 1 + 4 files changed, 117 insertions(+) create mode 100644 module3-nosql-and-document-oriented-databases/Pipfile create mode 100644 module3-nosql-and-document-oriented-databases/Pipfile.lock create mode 100644 module3-nosql-and-document-oriented-databases/mongo.py create mode 100644 module3-nosql-and-document-oriented-databases/rpg_db_json.txt diff --git a/module3-nosql-and-document-oriented-databases/Pipfile b/module3-nosql-and-document-oriented-databases/Pipfile new file mode 100644 index 00000000..af9e4fc4 --- /dev/null +++ b/module3-nosql-and-document-oriented-databases/Pipfile @@ -0,0 +1,13 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] + +[packages] +python-dotenv = "*" +psycopg2-binary = "*" + +[requires] +python_version = "3.7" diff --git a/module3-nosql-and-document-oriented-databases/Pipfile.lock b/module3-nosql-and-document-oriented-databases/Pipfile.lock new file mode 100644 index 00000000..5b045753 --- /dev/null +++ b/module3-nosql-and-document-oriented-databases/Pipfile.lock @@ -0,0 +1,65 @@ +{ + "_meta": { + "hash": { + "sha256": "a752871a27baa56670a0b6819d9ceb382c45d6b85b7582cf470086535ebba601" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.7" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "psycopg2-binary": { + "hashes": [ + "sha256:008da3ab51adc70a5f1cfbbe5db3a22607ab030eb44bcecf517ad11a0c2b3cac", + "sha256:07cf82c870ec2d2ce94d18e70c13323c89f2f2a2628cbf1feee700630be2519a", + "sha256:08507efbe532029adee21b8d4c999170a83760d38249936038bd0602327029b5", + "sha256:107d9be3b614e52a192719c6bf32e8813030020ea1d1215daa86ded9a24d8b04", + "sha256:17a0ea0b0eabf07035e5e0d520dabc7950aeb15a17c6d36128ba99b2721b25b1", + "sha256:3286541b9d85a340ee4ed42732d15fc1bb441dc500c97243a768154ab8505bb5", + "sha256:3939cf75fc89c5e9ed836e228c4a63604dff95ad19aed2bbf71d5d04c15ed5ce", + "sha256:40abc319f7f26c042a11658bf3dd3b0b3bceccf883ec1c565d5c909a90204434", + "sha256:51f7823f1b087d2020d8e8c9e6687473d3d239ba9afc162d9b2ab6e80b53f9f9", + "sha256:6bb2dd006a46a4a4ce95201f836194eb6a1e863f69ee5bab506673e0ca767057", + "sha256:702f09d8f77dc4794651f650828791af82f7c2efd8c91ae79e3d9fe4bb7d4c98", + "sha256:7036ccf715925251fac969f4da9ad37e4b7e211b1e920860148a10c0de963522", + "sha256:7b832d76cc65c092abd9505cc670c4e3421fd136fb6ea5b94efbe4c146572505", + "sha256:8f74e631b67482d504d7e9cf364071fc5d54c28e79a093ff402d5f8f81e23bfa", + "sha256:930315ac53dc65cbf52ab6b6d27422611f5fb461d763c531db229c7e1af6c0b3", + "sha256:96d3038f5bd061401996614f65d27a4ecb62d843eb4f48e212e6d129171a721f", + "sha256:a20299ee0ea2f9cca494396ac472d6e636745652a64a418b39522c120fd0a0a4", + "sha256:a34826d6465c2e2bbe9d0605f944f19d2480589f89863ed5f091943be27c9de4", + "sha256:a69970ee896e21db4c57e398646af9edc71c003bc52a3cc77fb150240fefd266", + "sha256:b9a8b391c2b0321e0cd7ec6b4cfcc3dd6349347bd1207d48bcb752aa6c553a66", + "sha256:ba13346ff6d3eb2dca0b6fa0d8a9d999eff3dcd9b55f3a890f12b0b6362b2b38", + "sha256:bb0608694a91db1e230b4a314e8ed00ad07ed0c518f9a69b83af2717e31291a3", + "sha256:c8830b7d5f16fd79d39b21e3d94f247219036b29b30c8270314c46bf8b732389", + "sha256:cac918cd7c4c498a60f5d2a61d4f0a6091c2c9490d81bc805c963444032d0dab", + "sha256:cc30cb900f42c8a246e2cb76539d9726f407330bc244ca7729c41a44e8d807fb", + "sha256:ccdc6a87f32b491129ada4b87a43b1895cf2c20fdb7f98ad979647506ffc41b6", + "sha256:d1a8b01f6a964fec702d6b6dac1f91f2b9f9fe41b310cbb16c7ef1fac82df06d", + "sha256:e004db88e5a75e5fdab1620fb9f90c9598c2a195a594225ac4ed2a6f1c23e162", + "sha256:eb2f43ae3037f1ef5e19339c41cf56947021ac892f668765cd65f8ab9814192e", + "sha256:fa466306fcf6b39b8a61d003123d442b23707d635a5cb05ac4e1b62cc79105cd" + ], + "index": "pypi", + "version": "==2.8.5" + }, + "python-dotenv": { + "hashes": [ + "sha256:8c10c99a1b25d9a68058a1ad6f90381a62ba68230ca93966882a4dbc3bc9c33d", + "sha256:c10863aee750ad720f4f43436565e4c1698798d763b63234fb5021b6c616e423" + ], + "index": "pypi", + "version": "==0.14.0" + } + }, + "develop": {} +} diff --git a/module3-nosql-and-document-oriented-databases/mongo.py b/module3-nosql-and-document-oriented-databases/mongo.py new file mode 100644 index 00000000..cee70e8e --- /dev/null +++ b/module3-nosql-and-document-oriented-databases/mongo.py @@ -0,0 +1,38 @@ +iimport pymongo +import os +import json +from dotenv import load_dotenv +from pdb import set_trace as breakpoint + +load_dotenv() + +DB_USER = os.getenv("MONGO_USER", default="OOPS") +DB_PASSWORD = os.getenv("MONGO_PASSWORD", default="OOPS") +CLUSTER_NAME = os.getenv("MONGO_CLUSTER_NAME", default="OOPS") + +connection_uri = f"mongodb+srv://{DB_USER}:{DB_PASSWORD}@{CLUSTER_NAME}.mongodb.net/dspt6-inclass?retryWrites=true&w=majority" +print("----------------") +print("URI:", connection_uri) + +client = pymongo.MongoClient(connection_uri) +print("----------------") +print("CLIENT:", type(client), client) + +print(client.list_database_names()) + +db = client.sample_analytics +print(db.list_collection_names()) + +customers = db.customers +print(customers.count_documents({})) + +# Read the JSON file (copied from: https://raw.githubusercontent.com/LambdaSchool/Django-RPG/master/testdata.json) +with open('test_data_json.txt') as json_file: + rpg_data = json.load(json_file) + +my_db = client.rpg_data + +character_table = my_db.characters + +character_table.insert_many(rpg_data) +print(character_table.count_documents({})) diff --git a/module3-nosql-and-document-oriented-databases/rpg_db_json.txt b/module3-nosql-and-document-oriented-databases/rpg_db_json.txt new file mode 100644 index 00000000..14da0336 --- /dev/null +++ b/module3-nosql-and-document-oriented-databases/rpg_db_json.txt @@ -0,0 +1 @@ +[{"model": "charactercreator.character", "pk": 1, "fields": {"name": "Aliquid iste optio reiciendi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [20, 58, 85]}}, {"model": "charactercreator.character", "pk": 2, "fields": {"name": "Optio dolorem ex a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [93, 115, 133]}}, {"model": "charactercreator.character", "pk": 3, "fields": {"name": "Minus c", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 43]}}, {"model": "charactercreator.character", "pk": 4, "fields": {"name": "Sit ut repr", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [21, 82, 85, 135]}}, {"model": "charactercreator.character", "pk": 5, "fields": {"name": "At id recusandae expl", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [7, 96, 140, 145]}}, {"model": "charactercreator.character", "pk": 6, "fields": {"name": "Non nobis et of", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [93]}}, {"model": "charactercreator.character", "pk": 7, "fields": {"name": "Perferendis", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [38, 42, 85, 123, 166]}}, {"model": "charactercreator.character", "pk": 8, "fields": {"name": "Accusantium amet quidem eve", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [43, 48, 119]}}, {"model": "charactercreator.character", "pk": 9, "fields": {"name": "Sed nostrum inventore error m", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [32, 106, 116, 125]}}, {"model": "charactercreator.character", "pk": 10, "fields": {"name": "Harum repellendus omnis od", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [117, 129, 131, 135]}}, {"model": "charactercreator.character", "pk": 11, "fields": {"name": "Itaque ut commodi,", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [54, 108, 158]}}, {"model": "charactercreator.character", "pk": 12, "fields": {"name": "Molestiae quis", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [65, 115, 126]}}, {"model": "charactercreator.character", "pk": 13, "fields": {"name": "Ali", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [38, 44, 62, 125]}}, {"model": "charactercreator.character", "pk": 14, "fields": {"name": "Tempora quod optio possimus il", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [34, 41, 65, 68]}}, {"model": "charactercreator.character", "pk": 15, "fields": {"name": "Sed itaque beatae pari", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [34, 56, 74, 84]}}, {"model": "charactercreator.character", "pk": 16, "fields": {"name": "Quam dolor", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [87]}}, {"model": "charactercreator.character", "pk": 17, "fields": {"name": "Molestias expedita", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [64, 68, 116, 128, 136]}}, {"model": "charactercreator.character", "pk": 18, "fields": {"name": "Lauda", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [17, 60, 62, 64, 90]}}, {"model": "charactercreator.character", "pk": 19, "fields": {"name": "Incidunt sint perferen", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 52, 113]}}, {"model": "charactercreator.character", "pk": 20, "fields": {"name": "Laboriosa", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [156]}}, {"model": "charactercreator.character", "pk": 21, "fields": {"name": "Dolore esse nesciunt fugit com", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [33, 34, 51, 117]}}, {"model": "charactercreator.character", "pk": 22, "fields": {"name": "Dolorum nam reic", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [41, 43, 164]}}, {"model": "charactercreator.character", "pk": 23, "fields": {"name": "Repellat ad numquam volu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [33, 61, 160]}}, {"model": "charactercreator.character", "pk": 24, "fields": {"name": "Facere enim velit eligend", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8]}}, {"model": "charactercreator.character", "pk": 25, "fields": {"name": "Sed ratione quis rep", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [50, 122]}}, {"model": "charactercreator.character", "pk": 26, "fields": {"name": "Doloribus neque", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [112, 149]}}, {"model": "charactercreator.character", "pk": 27, "fields": {"name": "Ab voluptas se", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [10, 104, 148, 157, 172]}}, {"model": "charactercreator.character", "pk": 28, "fields": {"name": "Molestias m", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [51]}}, {"model": "charactercreator.character", "pk": 29, "fields": {"name": "In pariatur corpori", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [107, 120, 157, 170]}}, {"model": "charactercreator.character", "pk": 30, "fields": {"name": "Possimus ad dignissimos vel, a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [69, 109, 114, 138]}}, {"model": "charactercreator.character", "pk": 31, "fields": {"name": "At minus accusa", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [9, 45, 61]}}, {"model": "charactercreator.character", "pk": 32, "fields": {"name": "Ad necess", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [111, 142]}}, {"model": "charactercreator.character", "pk": 33, "fields": {"name": "Expedita c", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [64, 110]}}, {"model": "charactercreator.character", "pk": 34, "fields": {"name": "Voluptates sunt voluptas volu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 90, 132, 160]}}, {"model": "charactercreator.character", "pk": 35, "fields": {"name": "Autem mollitia fuga lauda", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 62, 101, 165, 166]}}, {"model": "charactercreator.character", "pk": 36, "fields": {"name": "Sint quibusdam ob", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [29, 34, 141, 153, 155]}}, {"model": "charactercreator.character", "pk": 37, "fields": {"name": "Rerum et o", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [20, 42, 54, 169, 174]}}, {"model": "charactercreator.character", "pk": 38, "fields": {"name": "Doloribus dolore r", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [80, 115, 124, 146, 165]}}, {"model": "charactercreator.character", "pk": 39, "fields": {"name": "Eaque su", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [58, 150, 168]}}, {"model": "charactercreator.character", "pk": 40, "fields": {"name": "Vel molestias numqua", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [26, 32, 147]}}, {"model": "charactercreator.character", "pk": 41, "fields": {"name": "Iste assumenda repellat q", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [112, 168]}}, {"model": "charactercreator.character", "pk": 42, "fields": {"name": "Animi labo", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [65, 92, 131]}}, {"model": "charactercreator.character", "pk": 43, "fields": {"name": "Eum culpa eaque ea omn", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [131]}}, {"model": "charactercreator.character", "pk": 44, "fields": {"name": "Harum provident vel quam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [38]}}, {"model": "charactercreator.character", "pk": 45, "fields": {"name": "Aspe", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [12, 16, 66, 76]}}, {"model": "charactercreator.character", "pk": 46, "fields": {"name": "Nisi nequ", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [84]}}, {"model": "charactercreator.character", "pk": 47, "fields": {"name": "Quod tempora", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [35, 94, 136, 161]}}, {"model": "charactercreator.character", "pk": 48, "fields": {"name": "Porro aliq", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [45, 47, 126, 137]}}, {"model": "charactercreator.character", "pk": 49, "fields": {"name": "Quas", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [2, 41, 86, 113]}}, {"model": "charactercreator.character", "pk": 50, "fields": {"name": "Magnam eligendi quia animi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [29]}}, {"model": "charactercreator.character", "pk": 51, "fields": {"name": "Officiis se", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [73, 79, 153]}}, {"model": "charactercreator.character", "pk": 52, "fields": {"name": "Id assumend", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [115, 131]}}, {"model": "charactercreator.character", "pk": 53, "fields": {"name": "Voluptatibus fu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 26, 54, 119, 170]}}, {"model": "charactercreator.character", "pk": 54, "fields": {"name": "Odit rat", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [55]}}, {"model": "charactercreator.character", "pk": 55, "fields": {"name": "Debit", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [49, 81, 141, 160]}}, {"model": "charactercreator.character", "pk": 56, "fields": {"name": "Cum aut quas repudia", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [156]}}, {"model": "charactercreator.character", "pk": 57, "fields": {"name": "Deleniti qui quae quidem", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [36, 156, 168]}}, {"model": "charactercreator.character", "pk": 58, "fields": {"name": "Adipisci voluptas", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 46, 62, 159]}}, {"model": "charactercreator.character", "pk": 59, "fields": {"name": "Debitis sit ratione eos nam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [87, 89, 166, 174]}}, {"model": "charactercreator.character", "pk": 60, "fields": {"name": "Esse illo molestias archi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [87, 129, 130, 141]}}, {"model": "charactercreator.character", "pk": 61, "fields": {"name": "Sunt at itaque voluptatum d", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [95, 116]}}, {"model": "charactercreator.character", "pk": 62, "fields": {"name": "Est totam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [115]}}, {"model": "charactercreator.character", "pk": 63, "fields": {"name": "Reprehenderit commodi eius", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 19, 151, 158, 163]}}, {"model": "charactercreator.character", "pk": 64, "fields": {"name": "Debit", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [66, 134, 160]}}, {"model": "charactercreator.character", "pk": 65, "fields": {"name": "Soluta dol", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 18, 116, 136, 157]}}, {"model": "charactercreator.character", "pk": 66, "fields": {"name": "Vel nesc", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 83, 113, 123, 145]}}, {"model": "charactercreator.character", "pk": 67, "fields": {"name": "Ratione quia ali", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [89]}}, {"model": "charactercreator.character", "pk": 68, "fields": {"name": "Rerum recusandae minima", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [54, 93, 114, 147]}}, {"model": "charactercreator.character", "pk": 69, "fields": {"name": "Totam natus eius fugiat volu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [43, 90, 146]}}, {"model": "charactercreator.character", "pk": 70, "fields": {"name": "Perferendis commodi null", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [139, 151, 172]}}, {"model": "charactercreator.character", "pk": 71, "fields": {"name": "Laudantiu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [11, 83, 167]}}, {"model": "charactercreator.character", "pk": 72, "fields": {"name": "Voluptat", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [128]}}, {"model": "charactercreator.character", "pk": 73, "fields": {"name": "Incidunt nesciun", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [19]}}, {"model": "charactercreator.character", "pk": 74, "fields": {"name": "Illum amet vero", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [106, 139]}}, {"model": "charactercreator.character", "pk": 75, "fields": {"name": "Suscipit exercitationem re", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [99]}}, {"model": "charactercreator.character", "pk": 76, "fields": {"name": "Quas enim error maxime nisi m", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [24]}}, {"model": "charactercreator.character", "pk": 77, "fields": {"name": "Labore qu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [2, 22, 68, 133]}}, {"model": "charactercreator.character", "pk": 78, "fields": {"name": "Repudiandae deleniti unde", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [21, 25, 141]}}, {"model": "charactercreator.character", "pk": 79, "fields": {"name": "Ut do", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [106]}}, {"model": "charactercreator.character", "pk": 80, "fields": {"name": "Quaerat esse labore q", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 102, 149]}}, {"model": "charactercreator.character", "pk": 81, "fields": {"name": "Quidem aliq", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 24, 101, 155, 158]}}, {"model": "charactercreator.character", "pk": 82, "fields": {"name": "Aperiam vitae eos dolor sed", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [12, 30, 93, 136]}}, {"model": "charactercreator.character", "pk": 83, "fields": {"name": "Minus nobis porro", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [9, 101, 115]}}, {"model": "charactercreator.character", "pk": 84, "fields": {"name": "In similique", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 97, 143, 162]}}, {"model": "charactercreator.character", "pk": 85, "fields": {"name": "Culpa repellat unde", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [65, 72, 116, 153, 165]}}, {"model": "charactercreator.character", "pk": 86, "fields": {"name": "Architecto i", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [15, 20, 24, 46, 148]}}, {"model": "charactercreator.character", "pk": 87, "fields": {"name": "A sed pariatur qua", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [40]}}, {"model": "charactercreator.character", "pk": 88, "fields": {"name": "Tempore assumenda aperiam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [97, 108, 137, 170]}}, {"model": "charactercreator.character", "pk": 89, "fields": {"name": "Sed ullam tempora iusto co", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [38, 91]}}, {"model": "charactercreator.character", "pk": 90, "fields": {"name": "Ipsa", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 166]}}, {"model": "charactercreator.character", "pk": 91, "fields": {"name": "Fugiat incidun", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 41, 51, 128, 135]}}, {"model": "charactercreator.character", "pk": 92, "fields": {"name": "Molestiae of", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [16, 59, 77, 95, 151]}}, {"model": "charactercreator.character", "pk": 93, "fields": {"name": "Quae quisquam cons", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 12, 60, 131]}}, {"model": "charactercreator.character", "pk": 94, "fields": {"name": "Repellendus ea non facil", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [58, 73, 100, 139]}}, {"model": "charactercreator.character", "pk": 95, "fields": {"name": "Quod non quibu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [14, 58, 67, 99, 112]}}, {"model": "charactercreator.character", "pk": 96, "fields": {"name": "Numquam velit distinctio", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [77, 130, 135, 142, 170]}}, {"model": "charactercreator.character", "pk": 97, "fields": {"name": "Necessitatibus nihil ex debi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [17, 72, 101]}}, {"model": "charactercreator.character", "pk": 98, "fields": {"name": "Velit tempore nemo, na", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [10, 87]}}, {"model": "charactercreator.character", "pk": 99, "fields": {"name": "Nesciunt v", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [158]}}, {"model": "charactercreator.character", "pk": 100, "fields": {"name": "Dicta enim debitis accusantiu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [40, 57, 85, 107, 146]}}, {"model": "charactercreator.character", "pk": 101, "fields": {"name": "Vitae a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [22, 30, 39, 40, 170]}}, {"model": "charactercreator.character", "pk": 102, "fields": {"name": "Praesentium voluptas u", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [26, 52, 84]}}, {"model": "charactercreator.character", "pk": 103, "fields": {"name": "Unde ullam mollitia? Nu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [45, 111, 113, 120, 158]}}, {"model": "charactercreator.character", "pk": 104, "fields": {"name": "Neque molestias qu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [40, 64, 71, 122, 129]}}, {"model": "charactercreator.character", "pk": 105, "fields": {"name": "Officiis es", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [43, 137, 146]}}, {"model": "charactercreator.character", "pk": 106, "fields": {"name": "Beatae mi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [84, 112, 126, 148]}}, {"model": "charactercreator.character", "pk": 107, "fields": {"name": "Mollitia nam corporis temp", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [116]}}, {"model": "charactercreator.character", "pk": 108, "fields": {"name": "Repudiandae repellat i", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [47, 75, 160, 166]}}, {"model": "charactercreator.character", "pk": 109, "fields": {"name": "Laboriosam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [92]}}, {"model": "charactercreator.character", "pk": 110, "fields": {"name": "Nam minus amet", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [90]}}, {"model": "charactercreator.character", "pk": 111, "fields": {"name": "Harum quae volup", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [122]}}, {"model": "charactercreator.character", "pk": 112, "fields": {"name": "Impedit facere ulla", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [127, 157]}}, {"model": "charactercreator.character", "pk": 113, "fields": {"name": "Enim", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [142, 166]}}, {"model": "charactercreator.character", "pk": 114, "fields": {"name": "Dolore magni", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [10, 50, 61, 91, 153]}}, {"model": "charactercreator.character", "pk": 115, "fields": {"name": "Eaque at corpori", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [10, 18, 68, 101, 144]}}, {"model": "charactercreator.character", "pk": 116, "fields": {"name": "Fug", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [20]}}, {"model": "charactercreator.character", "pk": 117, "fields": {"name": "Dolorum laudanti", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [15, 21, 116, 160]}}, {"model": "charactercreator.character", "pk": 118, "fields": {"name": "Perferendis nat", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [9, 71, 128, 133, 174]}}, {"model": "charactercreator.character", "pk": 119, "fields": {"name": "Cupidi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [1, 15, 31, 54, 95]}}, {"model": "charactercreator.character", "pk": 120, "fields": {"name": "Commodi eius dicta digniss", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [50, 91, 94]}}, {"model": "charactercreator.character", "pk": 121, "fields": {"name": "Debitis eu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [59, 63, 100]}}, {"model": "charactercreator.character", "pk": 122, "fields": {"name": "Nihil repella", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [87, 162]}}, {"model": "charactercreator.character", "pk": 123, "fields": {"name": "Rem quasi minima hic sed anim", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [46, 56, 90]}}, {"model": "charactercreator.character", "pk": 124, "fields": {"name": "Sed ali", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [98]}}, {"model": "charactercreator.character", "pk": 125, "fields": {"name": "Earum vol", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 110, 131]}}, {"model": "charactercreator.character", "pk": 126, "fields": {"name": "Inventore tempore com", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [162]}}, {"model": "charactercreator.character", "pk": 127, "fields": {"name": "Repell", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [133, 154, 171]}}, {"model": "charactercreator.character", "pk": 128, "fields": {"name": "Consequatur quis recusandae qu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [111, 138, 171]}}, {"model": "charactercreator.character", "pk": 129, "fields": {"name": "Dolores ea velit mi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 51, 108, 138, 149]}}, {"model": "charactercreator.character", "pk": 130, "fields": {"name": "Atque blanditiis a aperiam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [63]}}, {"model": "charactercreator.character", "pk": 131, "fields": {"name": "Reprehenderit sequi iu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 17, 147]}}, {"model": "charactercreator.character", "pk": 132, "fields": {"name": "Natus architecto eos, hic blan", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [15, 16, 89, 133]}}, {"model": "charactercreator.character", "pk": 133, "fields": {"name": "Ipsa illo quas", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 19, 28]}}, {"model": "charactercreator.character", "pk": 134, "fields": {"name": "Voluptas ali", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [127, 132, 144, 173]}}, {"model": "charactercreator.character", "pk": 135, "fields": {"name": "Voluptates obcaecati quod e", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [13, 20, 40, 43, 72]}}, {"model": "charactercreator.character", "pk": 136, "fields": {"name": "Dolor adipisci a voluptate", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [18, 53, 87, 166]}}, {"model": "charactercreator.character", "pk": 137, "fields": {"name": "Repellendus natus quae, n", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [53, 55, 101]}}, {"model": "charactercreator.character", "pk": 138, "fields": {"name": "Laudantium earum nam in dol", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [65, 69, 133]}}, {"model": "charactercreator.character", "pk": 139, "fields": {"name": "Molestias face", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [23, 54, 109, 116, 174]}}, {"model": "charactercreator.character", "pk": 140, "fields": {"name": "Maiores suscipit exc", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [7, 42, 103]}}, {"model": "charactercreator.character", "pk": 141, "fields": {"name": "Illum dolore perferen", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [171]}}, {"model": "charactercreator.character", "pk": 142, "fields": {"name": "Explicabo recusandae ma", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [50, 51, 155, 173, 174]}}, {"model": "charactercreator.character", "pk": 143, "fields": {"name": "Odio obcaecati hic nostrum n", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [55, 152]}}, {"model": "charactercreator.character", "pk": 144, "fields": {"name": "Voluptate ali", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [117]}}, {"model": "charactercreator.character", "pk": 145, "fields": {"name": "Repudiandae vitae sapiente mol", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [25, 26, 116, 163]}}, {"model": "charactercreator.character", "pk": 146, "fields": {"name": "Ipsam cumque", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [18, 26, 56, 106]}}, {"model": "charactercreator.character", "pk": 147, "fields": {"name": "Fugiat quos alias eos dese", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [163]}}, {"model": "charactercreator.character", "pk": 148, "fields": {"name": "Eaque impe", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [26, 62, 130, 147]}}, {"model": "charactercreator.character", "pk": 149, "fields": {"name": "Elige", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [121, 128, 142]}}, {"model": "charactercreator.character", "pk": 150, "fields": {"name": "Adip", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [31, 97, 134]}}, {"model": "charactercreator.character", "pk": 151, "fields": {"name": "Fuga nemo vel mo", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [57, 87, 153]}}, {"model": "charactercreator.character", "pk": 152, "fields": {"name": "Libero cumque impedit eveniet", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 106, 158]}}, {"model": "charactercreator.character", "pk": 153, "fields": {"name": "Odio soluta", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [20, 54, 122, 160]}}, {"model": "charactercreator.character", "pk": 154, "fields": {"name": "Vero nostrum duc", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [1, 27, 69]}}, {"model": "charactercreator.character", "pk": 155, "fields": {"name": "Repellend", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [15, 79, 90, 122]}}, {"model": "charactercreator.character", "pk": 156, "fields": {"name": "Quod", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [29, 102, 120, 130, 162]}}, {"model": "charactercreator.character", "pk": 157, "fields": {"name": "Suscipit reiciend", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [110]}}, {"model": "charactercreator.character", "pk": 158, "fields": {"name": "Voluptat", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [71]}}, {"model": "charactercreator.character", "pk": 159, "fields": {"name": "Porro dolor fuga quam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [40, 86, 115]}}, {"model": "charactercreator.character", "pk": 160, "fields": {"name": "Amet quo fugit aliquam sequi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [53, 65, 78, 109, 174]}}, {"model": "charactercreator.character", "pk": 161, "fields": {"name": "Magni adipisci veritatis sit q", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [83, 115]}}, {"model": "charactercreator.character", "pk": 162, "fields": {"name": "Debitis enim cumque cum qu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [66, 136]}}, {"model": "charactercreator.character", "pk": 163, "fields": {"name": "Dolorem eligend", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [21, 50, 65]}}, {"model": "charactercreator.character", "pk": 164, "fields": {"name": "Autem lib", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [174]}}, {"model": "charactercreator.character", "pk": 165, "fields": {"name": "Saepe assumenda perferendis f", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [14, 67, 121, 149, 157]}}, {"model": "charactercreator.character", "pk": 166, "fields": {"name": "Deserunt", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [41, 94, 126, 173]}}, {"model": "charactercreator.character", "pk": 167, "fields": {"name": "Provident soluta simil", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [53, 75]}}, {"model": "charactercreator.character", "pk": 168, "fields": {"name": "In accu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [149]}}, {"model": "charactercreator.character", "pk": 169, "fields": {"name": "Inve", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [143]}}, {"model": "charactercreator.character", "pk": 170, "fields": {"name": "Placeat sapiente", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [67, 94, 145, 171]}}, {"model": "charactercreator.character", "pk": 171, "fields": {"name": "Ducimus architecto ullam", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [27, 83, 98, 147]}}, {"model": "charactercreator.character", "pk": 172, "fields": {"name": "Voluptate tempora rerum", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [54, 102]}}, {"model": "charactercreator.character", "pk": 173, "fields": {"name": "Totam incidunt earum perspicia", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [89, 110]}}, {"model": "charactercreator.character", "pk": 174, "fields": {"name": "Optio quas e", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [46, 56]}}, {"model": "charactercreator.character", "pk": 175, "fields": {"name": "Ab illum invento", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [55, 67, 169]}}, {"model": "charactercreator.character", "pk": 176, "fields": {"name": "Repellat quis natus totam, s", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [43, 119, 162]}}, {"model": "charactercreator.character", "pk": 177, "fields": {"name": "Est voluptate accusantium tem", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 136]}}, {"model": "charactercreator.character", "pk": 178, "fields": {"name": "Beatae q", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [95, 160]}}, {"model": "charactercreator.character", "pk": 179, "fields": {"name": "Velit", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 71]}}, {"model": "charactercreator.character", "pk": 180, "fields": {"name": "Minus nequ", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [89]}}, {"model": "charactercreator.character", "pk": 181, "fields": {"name": "Autem eos voluptates off", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [7, 64, 99, 107, 164]}}, {"model": "charactercreator.character", "pk": 182, "fields": {"name": "Vel fug", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [41]}}, {"model": "charactercreator.character", "pk": 183, "fields": {"name": "Architecto repudian", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [6, 91, 144, 147]}}, {"model": "charactercreator.character", "pk": 184, "fields": {"name": "Opti", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [32, 98, 112, 169]}}, {"model": "charactercreator.character", "pk": 185, "fields": {"name": "Iust", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [50, 103, 106, 139]}}, {"model": "charactercreator.character", "pk": 186, "fields": {"name": "Sapiente", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [109, 140]}}, {"model": "charactercreator.character", "pk": 187, "fields": {"name": "Officiis repellat corrupti su", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [133]}}, {"model": "charactercreator.character", "pk": 188, "fields": {"name": "Dicta et natus e", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [19, 51]}}, {"model": "charactercreator.character", "pk": 189, "fields": {"name": "At quos", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [27]}}, {"model": "charactercreator.character", "pk": 190, "fields": {"name": "Laborum ven", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [13, 30, 66, 135]}}, {"model": "charactercreator.character", "pk": 191, "fields": {"name": "Exceptur", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [37, 133, 147]}}, {"model": "charactercreator.character", "pk": 192, "fields": {"name": "Reiciendis assumenda dolo", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [166, 170]}}, {"model": "charactercreator.character", "pk": 193, "fields": {"name": "Poss", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [28, 56, 58, 173]}}, {"model": "charactercreator.character", "pk": 194, "fields": {"name": "Acc", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [13, 34, 131, 153, 165]}}, {"model": "charactercreator.character", "pk": 195, "fields": {"name": "Placeat esse archit", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [22]}}, {"model": "charactercreator.character", "pk": 196, "fields": {"name": "Enim repellendus nihil est te", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [18, 84, 136, 167]}}, {"model": "charactercreator.character", "pk": 197, "fields": {"name": "Ipsam incidunt t", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [25, 111, 125, 130, 132]}}, {"model": "charactercreator.character", "pk": 198, "fields": {"name": "Iure", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [60, 61, 95, 99, 168]}}, {"model": "charactercreator.character", "pk": 199, "fields": {"name": "Illo en", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [164, 170, 174]}}, {"model": "charactercreator.character", "pk": 200, "fields": {"name": "A rem ex", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [75]}}, {"model": "charactercreator.character", "pk": 201, "fields": {"name": "Officiis su", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [9, 10, 38, 53, 81]}}, {"model": "charactercreator.character", "pk": 202, "fields": {"name": "Numquam molestias", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [123]}}, {"model": "charactercreator.character", "pk": 203, "fields": {"name": "Voluptates unde", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [32]}}, {"model": "charactercreator.character", "pk": 204, "fields": {"name": "Quae praesentium vel", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [48]}}, {"model": "charactercreator.character", "pk": 205, "fields": {"name": "Quas", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [63, 116]}}, {"model": "charactercreator.character", "pk": 206, "fields": {"name": "Dolores aliquid inv", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [45, 97, 115, 140, 172]}}, {"model": "charactercreator.character", "pk": 207, "fields": {"name": "Mollitia tempore laborum eaqu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [71]}}, {"model": "charactercreator.character", "pk": 208, "fields": {"name": "Nobis voluptates fugiat quia", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [7, 25]}}, {"model": "charactercreator.character", "pk": 209, "fields": {"name": "Similique dolorem dolore maio", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [107]}}, {"model": "charactercreator.character", "pk": 210, "fields": {"name": "Sapiente", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [27, 102, 139]}}, {"model": "charactercreator.character", "pk": 211, "fields": {"name": "Officia nisi dolore", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [53]}}, {"model": "charactercreator.character", "pk": 212, "fields": {"name": "Distinctio", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [83, 163]}}, {"model": "charactercreator.character", "pk": 213, "fields": {"name": "Eos quia dignissimos saepe vel", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [38, 116]}}, {"model": "charactercreator.character", "pk": 214, "fields": {"name": "Ullam neque sint eligendi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [135]}}, {"model": "charactercreator.character", "pk": 215, "fields": {"name": "Excepturi deleniti ab a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [68]}}, {"model": "charactercreator.character", "pk": 216, "fields": {"name": "Accusa", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [123, 134, 147]}}, {"model": "charactercreator.character", "pk": 217, "fields": {"name": "Reiciendis laboriosam di", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [73, 91, 145]}}, {"model": "charactercreator.character", "pk": 218, "fields": {"name": "Delectus ex", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 168]}}, {"model": "charactercreator.character", "pk": 219, "fields": {"name": "Pari", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [71]}}, {"model": "charactercreator.character", "pk": 220, "fields": {"name": "Veritatis velit facilis iste", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [9, 43, 97, 104]}}, {"model": "charactercreator.character", "pk": 221, "fields": {"name": "Dol", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [33, 68, 71, 118]}}, {"model": "charactercreator.character", "pk": 222, "fields": {"name": "Qui iste pr", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [53, 164]}}, {"model": "charactercreator.character", "pk": 223, "fields": {"name": "Deleni", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [91, 163]}}, {"model": "charactercreator.character", "pk": 224, "fields": {"name": "Reprehenderit volu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [142]}}, {"model": "charactercreator.character", "pk": 225, "fields": {"name": "Accusantium vitae n", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [26, 78, 164]}}, {"model": "charactercreator.character", "pk": 226, "fields": {"name": "Natus consequatur incidun", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 15]}}, {"model": "charactercreator.character", "pk": 227, "fields": {"name": "Dignissimos a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [103, 142, 148, 154]}}, {"model": "charactercreator.character", "pk": 228, "fields": {"name": "Vitae modi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [38, 124]}}, {"model": "charactercreator.character", "pk": 229, "fields": {"name": "Accusantium qu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [54, 69, 159]}}, {"model": "charactercreator.character", "pk": 230, "fields": {"name": "Reiciendis dignissimos ratio", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [39]}}, {"model": "charactercreator.character", "pk": 231, "fields": {"name": "Expedita provident natus volup", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [1, 16, 38]}}, {"model": "charactercreator.character", "pk": 232, "fields": {"name": "Rerum repellat voluptas c", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [25, 48, 56, 66]}}, {"model": "charactercreator.character", "pk": 233, "fields": {"name": "Maiores quos incidunt dolor", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 37, 55, 60, 153]}}, {"model": "charactercreator.character", "pk": 234, "fields": {"name": "Aper", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [11]}}, {"model": "charactercreator.character", "pk": 235, "fields": {"name": "Nulla", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [28, 36, 53, 64, 105]}}, {"model": "charactercreator.character", "pk": 236, "fields": {"name": "Laudantium tempora itaque", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [96]}}, {"model": "charactercreator.character", "pk": 237, "fields": {"name": "Reprehenderit", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [39]}}, {"model": "charactercreator.character", "pk": 238, "fields": {"name": "Aliqu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [18, 30, 129, 142, 173]}}, {"model": "charactercreator.character", "pk": 239, "fields": {"name": "Odio harum nam mole", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [88, 117, 171]}}, {"model": "charactercreator.character", "pk": 240, "fields": {"name": "Arc", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [25, 81, 136]}}, {"model": "charactercreator.character", "pk": 241, "fields": {"name": "Reprehenderit li", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [68, 148, 169]}}, {"model": "charactercreator.character", "pk": 242, "fields": {"name": "Repr", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [146]}}, {"model": "charactercreator.character", "pk": 243, "fields": {"name": "Optio m", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [5, 24, 153]}}, {"model": "charactercreator.character", "pk": 244, "fields": {"name": "Esse odit amet rep", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [10, 30, 55, 146]}}, {"model": "charactercreator.character", "pk": 245, "fields": {"name": "Provident nostrum minima", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [37, 81, 123, 148, 163]}}, {"model": "charactercreator.character", "pk": 246, "fields": {"name": "Ex nihil quae facilis a omni", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [37, 81, 129]}}, {"model": "charactercreator.character", "pk": 247, "fields": {"name": "Dolorem quaerat sunt", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [105, 108, 137, 148, 151]}}, {"model": "charactercreator.character", "pk": 248, "fields": {"name": "Distinctio", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [20]}}, {"model": "charactercreator.character", "pk": 249, "fields": {"name": "Repudiandae ip", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [25, 53, 76, 87]}}, {"model": "charactercreator.character", "pk": 250, "fields": {"name": "Iste debitis dolorum amet m", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [4, 62, 150, 155]}}, {"model": "charactercreator.character", "pk": 251, "fields": {"name": "Non qui vo", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [17, 63, 109, 112, 162]}}, {"model": "charactercreator.character", "pk": 252, "fields": {"name": "Dolorem ma", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [6, 169]}}, {"model": "charactercreator.character", "pk": 253, "fields": {"name": "Molestias labore tempore ita", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [13, 140]}}, {"model": "charactercreator.character", "pk": 254, "fields": {"name": "Vol", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [158]}}, {"model": "charactercreator.character", "pk": 255, "fields": {"name": "Adipisci molest", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [48, 79]}}, {"model": "charactercreator.character", "pk": 256, "fields": {"name": "Omni", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [165, 173]}}, {"model": "charactercreator.character", "pk": 257, "fields": {"name": "Voluptatibus dolor", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [54, 123, 149]}}, {"model": "charactercreator.character", "pk": 258, "fields": {"name": "Quo", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [12, 36, 70, 119]}}, {"model": "charactercreator.character", "pk": 259, "fields": {"name": "Atque aspernatur possi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [27, 40, 60, 86, 89]}}, {"model": "charactercreator.character", "pk": 260, "fields": {"name": "Ullam c", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [50, 68, 97, 115]}}, {"model": "charactercreator.character", "pk": 261, "fields": {"name": "Iusto quas voluptatibu", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [7, 34, 101, 169, 174]}}, {"model": "charactercreator.character", "pk": 262, "fields": {"name": "Optio qui sunt dolores, ab", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 51, 60, 161]}}, {"model": "charactercreator.character", "pk": 263, "fields": {"name": "Illum recusandae nulla re", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [13, 30, 132, 146]}}, {"model": "charactercreator.character", "pk": 264, "fields": {"name": "Verita", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [26, 106, 111, 134, 145]}}, {"model": "charactercreator.character", "pk": 265, "fields": {"name": "Expedita quod blanditiis", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [116, 117, 155]}}, {"model": "charactercreator.character", "pk": 266, "fields": {"name": "Mag", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [11, 66, 82, 85, 89]}}, {"model": "charactercreator.character", "pk": 267, "fields": {"name": "Omnis quos aspernatur d", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [14, 47, 86, 150]}}, {"model": "charactercreator.character", "pk": 268, "fields": {"name": "Sunt impedit co", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [68]}}, {"model": "charactercreator.character", "pk": 269, "fields": {"name": "Minima quam ea ad", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [81]}}, {"model": "charactercreator.character", "pk": 270, "fields": {"name": "Suscipit quidem e", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [12]}}, {"model": "charactercreator.character", "pk": 271, "fields": {"name": "Harum", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [68, 161]}}, {"model": "charactercreator.character", "pk": 272, "fields": {"name": "Dolore laborum ips", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [37, 106]}}, {"model": "charactercreator.character", "pk": 273, "fields": {"name": "Magni veniam earum corporis", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [43, 82, 121]}}, {"model": "charactercreator.character", "pk": 274, "fields": {"name": "Optio", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [84, 97, 98]}}, {"model": "charactercreator.character", "pk": 275, "fields": {"name": "Nam fugit vel.", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [8, 147]}}, {"model": "charactercreator.character", "pk": 276, "fields": {"name": "Ut numquam quam eum, alias ius", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [101]}}, {"model": "charactercreator.character", "pk": 277, "fields": {"name": "Error amet tempore nulla", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [23]}}, {"model": "charactercreator.character", "pk": 278, "fields": {"name": "Deserunt a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [99]}}, {"model": "charactercreator.character", "pk": 279, "fields": {"name": "Aperiam sit", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [34, 156]}}, {"model": "charactercreator.character", "pk": 280, "fields": {"name": "Asperi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [73, 87, 137, 156, 169]}}, {"model": "charactercreator.character", "pk": 281, "fields": {"name": "Similique aperiam earum expli", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [19, 27, 76, 136, 174]}}, {"model": "charactercreator.character", "pk": 282, "fields": {"name": "Iure h", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [16, 77, 131, 161]}}, {"model": "charactercreator.character", "pk": 283, "fields": {"name": "At sint ducimus nostrum i", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [29, 96, 106, 165]}}, {"model": "charactercreator.character", "pk": 284, "fields": {"name": "Reprehenderit temporib", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [55]}}, {"model": "charactercreator.character", "pk": 285, "fields": {"name": "Molestiae quaerat maxim", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [3, 113, 116, 137, 171]}}, {"model": "charactercreator.character", "pk": 286, "fields": {"name": "Maior", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [32]}}, {"model": "charactercreator.character", "pk": 287, "fields": {"name": "Unde natus ut ipsa cupi", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [32, 92, 118, 130, 156]}}, {"model": "charactercreator.character", "pk": 288, "fields": {"name": "Praesentium atque ear", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [37, 41, 134]}}, {"model": "charactercreator.character", "pk": 289, "fields": {"name": "Rem minima", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [52, 56, 81, 104, 132]}}, {"model": "charactercreator.character", "pk": 290, "fields": {"name": "Provident sed soluta, sed si", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [96, 107, 115, 131, 141]}}, {"model": "charactercreator.character", "pk": 291, "fields": {"name": "Natus quia veritatis", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [10, 37, 74, 79]}}, {"model": "charactercreator.character", "pk": 292, "fields": {"name": "Vero a", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [128, 150]}}, {"model": "charactercreator.character", "pk": 293, "fields": {"name": "Optio harum labori", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [112, 158]}}, {"model": "charactercreator.character", "pk": 294, "fields": {"name": "Duci", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [49, 66, 102, 156, 164]}}, {"model": "charactercreator.character", "pk": 295, "fields": {"name": "Ipsa elige", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [113, 167]}}, {"model": "charactercreator.character", "pk": 296, "fields": {"name": "Sunt blanditiis i", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [12, 90, 169]}}, {"model": "charactercreator.character", "pk": 297, "fields": {"name": "Doloremque", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [31, 70, 74, 88]}}, {"model": "charactercreator.character", "pk": 298, "fields": {"name": "Autem ratione vitae quos, do", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [15, 29]}}, {"model": "charactercreator.character", "pk": 299, "fields": {"name": "Voluptatibus aliquid", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [19, 67, 109]}}, {"model": "charactercreator.character", "pk": 300, "fields": {"name": "Quaerat sequi sit eius corpori", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [119]}}, {"model": "charactercreator.character", "pk": 301, "fields": {"name": "Libe", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [52, 150]}}, {"model": "charactercreator.character", "pk": 302, "fields": {"name": "Aliquam n", "level": 0, "exp": 0, "hp": 10, "strength": 1, "intelligence": 1, "dexterity": 1, "wisdom": 1, "inventory": [21, 28, 51, 106, 141]}}, {"model": "charactercreator.fighter", "pk": 1, "fields": {"using_shield": false, "rage": 100, "inventory": [20, 58, 85]}}, {"model": "charactercreator.fighter", "pk": 2, "fields": {"using_shield": false, "rage": 100, "inventory": [93, 115, 133]}}, {"model": "charactercreator.fighter", "pk": 3, "fields": {"using_shield": false, "rage": 100, "inventory": [8, 43]}}, {"model": "charactercreator.fighter", "pk": 4, "fields": {"using_shield": false, "rage": 100, "inventory": [21, 82, 85, 135]}}, {"model": "charactercreator.fighter", "pk": 5, "fields": {"using_shield": false, "rage": 100, "inventory": [7, 96, 140, 145]}}, {"model": "charactercreator.fighter", "pk": 6, "fields": {"using_shield": false, "rage": 100, "inventory": [93]}}, {"model": "charactercreator.fighter", "pk": 7, "fields": {"using_shield": false, "rage": 100, "inventory": [38, 42, 85, 123, 166]}}, {"model": "charactercreator.fighter", "pk": 8, "fields": {"using_shield": false, "rage": 100, "inventory": [43, 48, 119]}}, {"model": "charactercreator.fighter", "pk": 9, "fields": {"using_shield": false, "rage": 100, "inventory": [32, 106, 116, 125]}}, {"model": "charactercreator.fighter", "pk": 10, "fields": {"using_shield": false, "rage": 100, "inventory": [117, 129, 131, 135]}}, {"model": "charactercreator.fighter", "pk": 11, "fields": {"using_shield": false, "rage": 100, "inventory": [54, 108, 158]}}, {"model": "charactercreator.fighter", "pk": 12, "fields": {"using_shield": false, "rage": 100, "inventory": [65, 115, 126]}}, {"model": "charactercreator.fighter", "pk": 13, "fields": {"using_shield": false, "rage": 100, "inventory": [38, 44, 62, 125]}}, {"model": "charactercreator.fighter", "pk": 14, "fields": {"using_shield": false, "rage": 100, "inventory": [34, 41, 65, 68]}}, {"model": "charactercreator.fighter", "pk": 15, "fields": {"using_shield": false, "rage": 100, "inventory": [34, 56, 74, 84]}}, {"model": "charactercreator.fighter", "pk": 16, "fields": {"using_shield": false, "rage": 100, "inventory": [87]}}, {"model": "charactercreator.fighter", "pk": 17, "fields": {"using_shield": false, "rage": 100, "inventory": [64, 68, 116, 128, 136]}}, {"model": "charactercreator.fighter", "pk": 18, "fields": {"using_shield": false, "rage": 100, "inventory": [17, 60, 62, 64, 90]}}, {"model": "charactercreator.fighter", "pk": 19, "fields": {"using_shield": false, "rage": 100, "inventory": [5, 52, 113]}}, {"model": "charactercreator.fighter", "pk": 20, "fields": {"using_shield": false, "rage": 100, "inventory": [156]}}, {"model": "charactercreator.fighter", "pk": 21, "fields": {"using_shield": false, "rage": 100, "inventory": [33, 34, 51, 117]}}, {"model": "charactercreator.fighter", "pk": 22, "fields": {"using_shield": false, "rage": 100, "inventory": [41, 43, 164]}}, {"model": "charactercreator.fighter", "pk": 23, "fields": {"using_shield": false, "rage": 100, "inventory": [33, 61, 160]}}, {"model": "charactercreator.fighter", "pk": 24, "fields": {"using_shield": false, "rage": 100, "inventory": [8]}}, {"model": "charactercreator.fighter", "pk": 25, "fields": {"using_shield": false, "rage": 100, "inventory": [50, 122]}}, {"model": "charactercreator.fighter", "pk": 26, "fields": {"using_shield": false, "rage": 100, "inventory": [112, 149]}}, {"model": "charactercreator.fighter", "pk": 27, "fields": {"using_shield": false, "rage": 100, "inventory": [10, 104, 148, 157, 172]}}, {"model": "charactercreator.fighter", "pk": 28, "fields": {"using_shield": false, "rage": 100, "inventory": [51]}}, {"model": "charactercreator.fighter", "pk": 29, "fields": {"using_shield": false, "rage": 100, "inventory": [107, 120, 157, 170]}}, {"model": "charactercreator.fighter", "pk": 30, "fields": {"using_shield": false, "rage": 100, "inventory": [69, 109, 114, 138]}}, {"model": "charactercreator.fighter", "pk": 31, "fields": {"using_shield": false, "rage": 100, "inventory": [9, 45, 61]}}, {"model": "charactercreator.fighter", "pk": 32, "fields": {"using_shield": false, "rage": 100, "inventory": [111, 142]}}, {"model": "charactercreator.fighter", "pk": 33, "fields": {"using_shield": false, "rage": 100, "inventory": [64, 110]}}, {"model": "charactercreator.fighter", "pk": 34, "fields": {"using_shield": false, "rage": 100, "inventory": [5, 90, 132, 160]}}, {"model": "charactercreator.fighter", "pk": 35, "fields": {"using_shield": false, "rage": 100, "inventory": [3, 62, 101, 165, 166]}}, {"model": "charactercreator.fighter", "pk": 36, "fields": {"using_shield": false, "rage": 100, "inventory": [29, 34, 141, 153, 155]}}, {"model": "charactercreator.fighter", "pk": 37, "fields": {"using_shield": false, "rage": 100, "inventory": [20, 42, 54, 169, 174]}}, {"model": "charactercreator.fighter", "pk": 38, "fields": {"using_shield": false, "rage": 100, "inventory": [80, 115, 124, 146, 165]}}, {"model": "charactercreator.fighter", "pk": 39, "fields": {"using_shield": false, "rage": 100, "inventory": [58, 150, 168]}}, {"model": "charactercreator.fighter", "pk": 40, "fields": {"using_shield": false, "rage": 100, "inventory": [26, 32, 147]}}, {"model": "charactercreator.fighter", "pk": 41, "fields": {"using_shield": false, "rage": 100, "inventory": [112, 168]}}, {"model": "charactercreator.fighter", "pk": 42, "fields": {"using_shield": false, "rage": 100, "inventory": [65, 92, 131]}}, {"model": "charactercreator.fighter", "pk": 43, "fields": {"using_shield": false, "rage": 100, "inventory": [131]}}, {"model": "charactercreator.fighter", "pk": 44, "fields": {"using_shield": false, "rage": 100, "inventory": [38]}}, {"model": "charactercreator.fighter", "pk": 45, "fields": {"using_shield": false, "rage": 100, "inventory": [12, 16, 66, 76]}}, {"model": "charactercreator.fighter", "pk": 46, "fields": {"using_shield": false, "rage": 100, "inventory": [84]}}, {"model": "charactercreator.fighter", "pk": 47, "fields": {"using_shield": false, "rage": 100, "inventory": [35, 94, 136, 161]}}, {"model": "charactercreator.fighter", "pk": 48, "fields": {"using_shield": false, "rage": 100, "inventory": [45, 47, 126, 137]}}, {"model": "charactercreator.fighter", "pk": 49, "fields": {"using_shield": false, "rage": 100, "inventory": [2, 41, 86, 113]}}, {"model": "charactercreator.fighter", "pk": 50, "fields": {"using_shield": false, "rage": 100, "inventory": [29]}}, {"model": "charactercreator.fighter", "pk": 51, "fields": {"using_shield": false, "rage": 100, "inventory": [73, 79, 153]}}, {"model": "charactercreator.fighter", "pk": 52, "fields": {"using_shield": false, "rage": 100, "inventory": [115, 131]}}, {"model": "charactercreator.fighter", "pk": 53, "fields": {"using_shield": false, "rage": 100, "inventory": [3, 26, 54, 119, 170]}}, {"model": "charactercreator.fighter", "pk": 54, "fields": {"using_shield": false, "rage": 100, "inventory": [55]}}, {"model": "charactercreator.fighter", "pk": 55, "fields": {"using_shield": false, "rage": 100, "inventory": [49, 81, 141, 160]}}, {"model": "charactercreator.fighter", "pk": 56, "fields": {"using_shield": false, "rage": 100, "inventory": [156]}}, {"model": "charactercreator.fighter", "pk": 57, "fields": {"using_shield": false, "rage": 100, "inventory": [36, 156, 168]}}, {"model": "charactercreator.fighter", "pk": 58, "fields": {"using_shield": false, "rage": 100, "inventory": [5, 46, 62, 159]}}, {"model": "charactercreator.fighter", "pk": 59, "fields": {"using_shield": false, "rage": 100, "inventory": [87, 89, 166, 174]}}, {"model": "charactercreator.fighter", "pk": 60, "fields": {"using_shield": false, "rage": 100, "inventory": [87, 129, 130, 141]}}, {"model": "charactercreator.fighter", "pk": 61, "fields": {"using_shield": false, "rage": 100, "inventory": [95, 116]}}, {"model": "charactercreator.fighter", "pk": 62, "fields": {"using_shield": false, "rage": 100, "inventory": [115]}}, {"model": "charactercreator.fighter", "pk": 63, "fields": {"using_shield": false, "rage": 100, "inventory": [5, 19, 151, 158, 163]}}, {"model": "charactercreator.fighter", "pk": 64, "fields": {"using_shield": false, "rage": 100, "inventory": [66, 134, 160]}}, {"model": "charactercreator.fighter", "pk": 65, "fields": {"using_shield": false, "rage": 100, "inventory": [8, 18, 116, 136, 157]}}, {"model": "charactercreator.fighter", "pk": 66, "fields": {"using_shield": false, "rage": 100, "inventory": [3, 83, 113, 123, 145]}}, {"model": "charactercreator.fighter", "pk": 67, "fields": {"using_shield": false, "rage": 100, "inventory": [89]}}, {"model": "charactercreator.fighter", "pk": 68, "fields": {"using_shield": false, "rage": 100, "inventory": [54, 93, 114, 147]}}, {"model": "charactercreator.mage", "pk": 69, "fields": {"has_pet": true, "mana": 100, "inventory": [43, 90, 146]}}, {"model": "charactercreator.mage", "pk": 70, "fields": {"has_pet": true, "mana": 100, "inventory": [139, 151, 172]}}, {"model": "charactercreator.mage", "pk": 71, "fields": {"has_pet": true, "mana": 100, "inventory": [11, 83, 167]}}, {"model": "charactercreator.mage", "pk": 72, "fields": {"has_pet": true, "mana": 100, "inventory": [128]}}, {"model": "charactercreator.mage", "pk": 73, "fields": {"has_pet": true, "mana": 100, "inventory": [19]}}, {"model": "charactercreator.mage", "pk": 74, "fields": {"has_pet": true, "mana": 100, "inventory": [106, 139]}}, {"model": "charactercreator.mage", "pk": 75, "fields": {"has_pet": true, "mana": 100, "inventory": [99]}}, {"model": "charactercreator.mage", "pk": 76, "fields": {"has_pet": true, "mana": 100, "inventory": [24]}}, {"model": "charactercreator.mage", "pk": 77, "fields": {"has_pet": true, "mana": 100, "inventory": [2, 22, 68, 133]}}, {"model": "charactercreator.mage", "pk": 78, "fields": {"has_pet": true, "mana": 100, "inventory": [21, 25, 141]}}, {"model": "charactercreator.mage", "pk": 79, "fields": {"has_pet": true, "mana": 100, "inventory": [106]}}, {"model": "charactercreator.mage", "pk": 80, "fields": {"has_pet": true, "mana": 100, "inventory": [8, 102, 149]}}, {"model": "charactercreator.mage", "pk": 81, "fields": {"has_pet": true, "mana": 100, "inventory": [4, 24, 101, 155, 158]}}, {"model": "charactercreator.mage", "pk": 82, "fields": {"has_pet": true, "mana": 100, "inventory": [12, 30, 93, 136]}}, {"model": "charactercreator.mage", "pk": 83, "fields": {"has_pet": true, "mana": 100, "inventory": [9, 101, 115]}}, {"model": "charactercreator.mage", "pk": 84, "fields": {"has_pet": true, "mana": 100, "inventory": [3, 97, 143, 162]}}, {"model": "charactercreator.mage", "pk": 85, "fields": {"has_pet": true, "mana": 100, "inventory": [65, 72, 116, 153, 165]}}, {"model": "charactercreator.mage", "pk": 86, "fields": {"has_pet": true, "mana": 100, "inventory": [15, 20, 24, 46, 148]}}, {"model": "charactercreator.mage", "pk": 87, "fields": {"has_pet": true, "mana": 100, "inventory": [40]}}, {"model": "charactercreator.mage", "pk": 88, "fields": {"has_pet": true, "mana": 100, "inventory": [97, 108, 137, 170]}}, {"model": "charactercreator.mage", "pk": 89, "fields": {"has_pet": true, "mana": 100, "inventory": [38, 91]}}, {"model": "charactercreator.mage", "pk": 90, "fields": {"has_pet": true, "mana": 100, "inventory": [4, 166]}}, {"model": "charactercreator.mage", "pk": 91, "fields": {"has_pet": true, "mana": 100, "inventory": [5, 41, 51, 128, 135]}}, {"model": "charactercreator.mage", "pk": 92, "fields": {"has_pet": true, "mana": 100, "inventory": [16, 59, 77, 95, 151]}}, {"model": "charactercreator.mage", "pk": 93, "fields": {"has_pet": true, "mana": 100, "inventory": [5, 12, 60, 131]}}, {"model": "charactercreator.mage", "pk": 94, "fields": {"has_pet": true, "mana": 100, "inventory": [58, 73, 100, 139]}}, {"model": "charactercreator.mage", "pk": 95, "fields": {"has_pet": true, "mana": 100, "inventory": [14, 58, 67, 99, 112]}}, {"model": "charactercreator.mage", "pk": 96, "fields": {"has_pet": true, "mana": 100, "inventory": [77, 130, 135, 142, 170]}}, {"model": "charactercreator.mage", "pk": 97, "fields": {"has_pet": true, "mana": 100, "inventory": [17, 72, 101]}}, {"model": "charactercreator.mage", "pk": 98, "fields": {"has_pet": true, "mana": 100, "inventory": [10, 87]}}, {"model": "charactercreator.mage", "pk": 99, "fields": {"has_pet": true, "mana": 100, "inventory": [158]}}, {"model": "charactercreator.mage", "pk": 100, "fields": {"has_pet": true, "mana": 100, "inventory": [40, 57, 85, 107, 146]}}, {"model": "charactercreator.mage", "pk": 101, "fields": {"has_pet": true, "mana": 100, "inventory": [22, 30, 39, 40, 170]}}, {"model": "charactercreator.mage", "pk": 102, "fields": {"has_pet": true, "mana": 100, "inventory": [26, 52, 84]}}, {"model": "charactercreator.mage", "pk": 103, "fields": {"has_pet": true, "mana": 100, "inventory": [45, 111, 113, 120, 158]}}, {"model": "charactercreator.mage", "pk": 104, "fields": {"has_pet": true, "mana": 100, "inventory": [40, 64, 71, 122, 129]}}, {"model": "charactercreator.mage", "pk": 105, "fields": {"has_pet": true, "mana": 100, "inventory": [43, 137, 146]}}, {"model": "charactercreator.mage", "pk": 106, "fields": {"has_pet": true, "mana": 100, "inventory": [84, 112, 126, 148]}}, {"model": "charactercreator.mage", "pk": 107, "fields": {"has_pet": true, "mana": 100, "inventory": [116]}}, {"model": "charactercreator.mage", "pk": 108, "fields": {"has_pet": true, "mana": 100, "inventory": [47, 75, 160, 166]}}, {"model": "charactercreator.mage", "pk": 109, "fields": {"has_pet": true, "mana": 100, "inventory": [92]}}, {"model": "charactercreator.mage", "pk": 110, "fields": {"has_pet": true, "mana": 100, "inventory": [90]}}, {"model": "charactercreator.mage", "pk": 111, "fields": {"has_pet": true, "mana": 100, "inventory": [122]}}, {"model": "charactercreator.mage", "pk": 112, "fields": {"has_pet": true, "mana": 100, "inventory": [127, 157]}}, {"model": "charactercreator.mage", "pk": 113, "fields": {"has_pet": true, "mana": 100, "inventory": [142, 166]}}, {"model": "charactercreator.mage", "pk": 114, "fields": {"has_pet": true, "mana": 100, "inventory": [10, 50, 61, 91, 153]}}, {"model": "charactercreator.mage", "pk": 115, "fields": {"has_pet": true, "mana": 100, "inventory": [10, 18, 68, 101, 144]}}, {"model": "charactercreator.mage", "pk": 116, "fields": {"has_pet": true, "mana": 100, "inventory": [20]}}, {"model": "charactercreator.mage", "pk": 117, "fields": {"has_pet": true, "mana": 100, "inventory": [15, 21, 116, 160]}}, {"model": "charactercreator.mage", "pk": 118, "fields": {"has_pet": true, "mana": 100, "inventory": [9, 71, 128, 133, 174]}}, {"model": "charactercreator.mage", "pk": 119, "fields": {"has_pet": true, "mana": 100, "inventory": [1, 15, 31, 54, 95]}}, {"model": "charactercreator.mage", "pk": 120, "fields": {"has_pet": true, "mana": 100, "inventory": [50, 91, 94]}}, {"model": "charactercreator.mage", "pk": 121, "fields": {"has_pet": true, "mana": 100, "inventory": [59, 63, 100]}}, {"model": "charactercreator.mage", "pk": 122, "fields": {"has_pet": true, "mana": 100, "inventory": [87, 162]}}, {"model": "charactercreator.mage", "pk": 123, "fields": {"has_pet": true, "mana": 100, "inventory": [46, 56, 90]}}, {"model": "charactercreator.mage", "pk": 124, "fields": {"has_pet": true, "mana": 100, "inventory": [98]}}, {"model": "charactercreator.mage", "pk": 125, "fields": {"has_pet": true, "mana": 100, "inventory": [8, 110, 131]}}, {"model": "charactercreator.mage", "pk": 126, "fields": {"has_pet": true, "mana": 100, "inventory": [162]}}, {"model": "charactercreator.mage", "pk": 127, "fields": {"has_pet": true, "mana": 100, "inventory": [133, 154, 171]}}, {"model": "charactercreator.mage", "pk": 128, "fields": {"has_pet": true, "mana": 100, "inventory": [111, 138, 171]}}, {"model": "charactercreator.mage", "pk": 129, "fields": {"has_pet": true, "mana": 100, "inventory": [4, 51, 108, 138, 149]}}, {"model": "charactercreator.mage", "pk": 130, "fields": {"has_pet": true, "mana": 100, "inventory": [63]}}, {"model": "charactercreator.mage", "pk": 131, "fields": {"has_pet": true, "mana": 100, "inventory": [4, 17, 147]}}, {"model": "charactercreator.mage", "pk": 132, "fields": {"has_pet": true, "mana": 100, "inventory": [15, 16, 89, 133]}}, {"model": "charactercreator.mage", "pk": 133, "fields": {"has_pet": true, "mana": 100, "inventory": [8, 19, 28]}}, {"model": "charactercreator.mage", "pk": 134, "fields": {"has_pet": true, "mana": 100, "inventory": [127, 132, 144, 173]}}, {"model": "charactercreator.mage", "pk": 135, "fields": {"has_pet": true, "mana": 100, "inventory": [13, 20, 40, 43, 72]}}, {"model": "charactercreator.mage", "pk": 136, "fields": {"has_pet": true, "mana": 100, "inventory": [18, 53, 87, 166]}}, {"model": "charactercreator.mage", "pk": 137, "fields": {"has_pet": true, "mana": 100, "inventory": [53, 55, 101]}}, {"model": "charactercreator.mage", "pk": 138, "fields": {"has_pet": true, "mana": 100, "inventory": [65, 69, 133]}}, {"model": "charactercreator.mage", "pk": 139, "fields": {"has_pet": true, "mana": 100, "inventory": [23, 54, 109, 116, 174]}}, {"model": "charactercreator.mage", "pk": 140, "fields": {"has_pet": true, "mana": 100, "inventory": [7, 42, 103]}}, {"model": "charactercreator.mage", "pk": 141, "fields": {"has_pet": true, "mana": 100, "inventory": [171]}}, {"model": "charactercreator.mage", "pk": 142, "fields": {"has_pet": true, "mana": 100, "inventory": [50, 51, 155, 173, 174]}}, {"model": "charactercreator.mage", "pk": 143, "fields": {"has_pet": true, "mana": 100, "inventory": [55, 152]}}, {"model": "charactercreator.mage", "pk": 144, "fields": {"has_pet": true, "mana": 100, "inventory": [117]}}, {"model": "charactercreator.mage", "pk": 145, "fields": {"has_pet": true, "mana": 100, "inventory": [25, 26, 116, 163]}}, {"model": "charactercreator.mage", "pk": 146, "fields": {"has_pet": true, "mana": 100, "inventory": [18, 26, 56, 106]}}, {"model": "charactercreator.mage", "pk": 147, "fields": {"has_pet": true, "mana": 100, "inventory": [163]}}, {"model": "charactercreator.mage", "pk": 148, "fields": {"has_pet": true, "mana": 100, "inventory": [26, 62, 130, 147]}}, {"model": "charactercreator.mage", "pk": 149, "fields": {"has_pet": true, "mana": 100, "inventory": [121, 128, 142]}}, {"model": "charactercreator.mage", "pk": 150, "fields": {"has_pet": true, "mana": 100, "inventory": [31, 97, 134]}}, {"model": "charactercreator.mage", "pk": 151, "fields": {"has_pet": true, "mana": 100, "inventory": [57, 87, 153]}}, {"model": "charactercreator.mage", "pk": 152, "fields": {"has_pet": true, "mana": 100, "inventory": [5, 106, 158]}}, {"model": "charactercreator.mage", "pk": 153, "fields": {"has_pet": true, "mana": 100, "inventory": [20, 54, 122, 160]}}, {"model": "charactercreator.mage", "pk": 154, "fields": {"has_pet": true, "mana": 100, "inventory": [1, 27, 69]}}, {"model": "charactercreator.mage", "pk": 155, "fields": {"has_pet": true, "mana": 100, "inventory": [15, 79, 90, 122]}}, {"model": "charactercreator.mage", "pk": 156, "fields": {"has_pet": true, "mana": 100, "inventory": [29, 102, 120, 130, 162]}}, {"model": "charactercreator.mage", "pk": 157, "fields": {"has_pet": true, "mana": 100, "inventory": [110]}}, {"model": "charactercreator.mage", "pk": 158, "fields": {"has_pet": true, "mana": 100, "inventory": [71]}}, {"model": "charactercreator.mage", "pk": 159, "fields": {"has_pet": true, "mana": 100, "inventory": [40, 86, 115]}}, {"model": "charactercreator.mage", "pk": 160, "fields": {"has_pet": true, "mana": 100, "inventory": [53, 65, 78, 109, 174]}}, {"model": "charactercreator.mage", "pk": 161, "fields": {"has_pet": true, "mana": 100, "inventory": [83, 115]}}, {"model": "charactercreator.mage", "pk": 162, "fields": {"has_pet": true, "mana": 100, "inventory": [66, 136]}}, {"model": "charactercreator.mage", "pk": 163, "fields": {"has_pet": true, "mana": 100, "inventory": [21, 50, 65]}}, {"model": "charactercreator.mage", "pk": 164, "fields": {"has_pet": true, "mana": 100, "inventory": [174]}}, {"model": "charactercreator.mage", "pk": 165, "fields": {"has_pet": true, "mana": 100, "inventory": [14, 67, 121, 149, 157]}}, {"model": "charactercreator.mage", "pk": 292, "fields": {"has_pet": true, "mana": 100, "inventory": [128, 150]}}, {"model": "charactercreator.mage", "pk": 293, "fields": {"has_pet": true, "mana": 100, "inventory": [112, 158]}}, {"model": "charactercreator.mage", "pk": 294, "fields": {"has_pet": true, "mana": 100, "inventory": [49, 66, 102, 156, 164]}}, {"model": "charactercreator.mage", "pk": 295, "fields": {"has_pet": true, "mana": 100, "inventory": [113, 167]}}, {"model": "charactercreator.mage", "pk": 296, "fields": {"has_pet": true, "mana": 100, "inventory": [12, 90, 169]}}, {"model": "charactercreator.mage", "pk": 297, "fields": {"has_pet": true, "mana": 100, "inventory": [31, 70, 74, 88]}}, {"model": "charactercreator.mage", "pk": 298, "fields": {"has_pet": true, "mana": 100, "inventory": [15, 29]}}, {"model": "charactercreator.mage", "pk": 299, "fields": {"has_pet": true, "mana": 100, "inventory": [19, 67, 109]}}, {"model": "charactercreator.mage", "pk": 300, "fields": {"has_pet": true, "mana": 100, "inventory": [119]}}, {"model": "charactercreator.mage", "pk": 301, "fields": {"has_pet": true, "mana": 100, "inventory": [52, 150]}}, {"model": "charactercreator.mage", "pk": 302, "fields": {"has_pet": true, "mana": 100, "inventory": [21, 28, 51, 106, 141]}}, {"model": "charactercreator.cleric", "pk": 166, "fields": {"using_shield": false, "mana": 100, "inventory": [41, 94, 126, 173]}}, {"model": "charactercreator.cleric", "pk": 167, "fields": {"using_shield": false, "mana": 100, "inventory": [53, 75]}}, {"model": "charactercreator.cleric", "pk": 168, "fields": {"using_shield": false, "mana": 100, "inventory": [149]}}, {"model": "charactercreator.cleric", "pk": 169, "fields": {"using_shield": false, "mana": 100, "inventory": [143]}}, {"model": "charactercreator.cleric", "pk": 170, "fields": {"using_shield": false, "mana": 100, "inventory": [67, 94, 145, 171]}}, {"model": "charactercreator.cleric", "pk": 171, "fields": {"using_shield": false, "mana": 100, "inventory": [27, 83, 98, 147]}}, {"model": "charactercreator.cleric", "pk": 172, "fields": {"using_shield": false, "mana": 100, "inventory": [54, 102]}}, {"model": "charactercreator.cleric", "pk": 173, "fields": {"using_shield": false, "mana": 100, "inventory": [89, 110]}}, {"model": "charactercreator.cleric", "pk": 174, "fields": {"using_shield": false, "mana": 100, "inventory": [46, 56]}}, {"model": "charactercreator.cleric", "pk": 175, "fields": {"using_shield": false, "mana": 100, "inventory": [55, 67, 169]}}, {"model": "charactercreator.cleric", "pk": 176, "fields": {"using_shield": false, "mana": 100, "inventory": [43, 119, 162]}}, {"model": "charactercreator.cleric", "pk": 177, "fields": {"using_shield": false, "mana": 100, "inventory": [3, 136]}}, {"model": "charactercreator.cleric", "pk": 178, "fields": {"using_shield": false, "mana": 100, "inventory": [95, 160]}}, {"model": "charactercreator.cleric", "pk": 179, "fields": {"using_shield": false, "mana": 100, "inventory": [5, 71]}}, {"model": "charactercreator.cleric", "pk": 180, "fields": {"using_shield": false, "mana": 100, "inventory": [89]}}, {"model": "charactercreator.cleric", "pk": 181, "fields": {"using_shield": false, "mana": 100, "inventory": [7, 64, 99, 107, 164]}}, {"model": "charactercreator.cleric", "pk": 182, "fields": {"using_shield": false, "mana": 100, "inventory": [41]}}, {"model": "charactercreator.cleric", "pk": 183, "fields": {"using_shield": false, "mana": 100, "inventory": [6, 91, 144, 147]}}, {"model": "charactercreator.cleric", "pk": 184, "fields": {"using_shield": false, "mana": 100, "inventory": [32, 98, 112, 169]}}, {"model": "charactercreator.cleric", "pk": 185, "fields": {"using_shield": false, "mana": 100, "inventory": [50, 103, 106, 139]}}, {"model": "charactercreator.cleric", "pk": 186, "fields": {"using_shield": false, "mana": 100, "inventory": [109, 140]}}, {"model": "charactercreator.cleric", "pk": 187, "fields": {"using_shield": false, "mana": 100, "inventory": [133]}}, {"model": "charactercreator.cleric", "pk": 188, "fields": {"using_shield": false, "mana": 100, "inventory": [19, 51]}}, {"model": "charactercreator.cleric", "pk": 189, "fields": {"using_shield": false, "mana": 100, "inventory": [27]}}, {"model": "charactercreator.cleric", "pk": 190, "fields": {"using_shield": false, "mana": 100, "inventory": [13, 30, 66, 135]}}, {"model": "charactercreator.cleric", "pk": 191, "fields": {"using_shield": false, "mana": 100, "inventory": [37, 133, 147]}}, {"model": "charactercreator.cleric", "pk": 192, "fields": {"using_shield": false, "mana": 100, "inventory": [166, 170]}}, {"model": "charactercreator.cleric", "pk": 193, "fields": {"using_shield": false, "mana": 100, "inventory": [28, 56, 58, 173]}}, {"model": "charactercreator.cleric", "pk": 194, "fields": {"using_shield": false, "mana": 100, "inventory": [13, 34, 131, 153, 165]}}, {"model": "charactercreator.cleric", "pk": 195, "fields": {"using_shield": false, "mana": 100, "inventory": [22]}}, {"model": "charactercreator.cleric", "pk": 196, "fields": {"using_shield": false, "mana": 100, "inventory": [18, 84, 136, 167]}}, {"model": "charactercreator.cleric", "pk": 197, "fields": {"using_shield": false, "mana": 100, "inventory": [25, 111, 125, 130, 132]}}, {"model": "charactercreator.cleric", "pk": 198, "fields": {"using_shield": false, "mana": 100, "inventory": [60, 61, 95, 99, 168]}}, {"model": "charactercreator.cleric", "pk": 199, "fields": {"using_shield": false, "mana": 100, "inventory": [164, 170, 174]}}, {"model": "charactercreator.cleric", "pk": 200, "fields": {"using_shield": false, "mana": 100, "inventory": [75]}}, {"model": "charactercreator.cleric", "pk": 201, "fields": {"using_shield": false, "mana": 100, "inventory": [9, 10, 38, 53, 81]}}, {"model": "charactercreator.cleric", "pk": 202, "fields": {"using_shield": false, "mana": 100, "inventory": [123]}}, {"model": "charactercreator.cleric", "pk": 203, "fields": {"using_shield": false, "mana": 100, "inventory": [32]}}, {"model": "charactercreator.cleric", "pk": 204, "fields": {"using_shield": false, "mana": 100, "inventory": [48]}}, {"model": "charactercreator.cleric", "pk": 205, "fields": {"using_shield": false, "mana": 100, "inventory": [63, 116]}}, {"model": "charactercreator.cleric", "pk": 206, "fields": {"using_shield": false, "mana": 100, "inventory": [45, 97, 115, 140, 172]}}, {"model": "charactercreator.cleric", "pk": 207, "fields": {"using_shield": false, "mana": 100, "inventory": [71]}}, {"model": "charactercreator.cleric", "pk": 208, "fields": {"using_shield": false, "mana": 100, "inventory": [7, 25]}}, {"model": "charactercreator.cleric", "pk": 209, "fields": {"using_shield": false, "mana": 100, "inventory": [107]}}, {"model": "charactercreator.cleric", "pk": 210, "fields": {"using_shield": false, "mana": 100, "inventory": [27, 102, 139]}}, {"model": "charactercreator.cleric", "pk": 211, "fields": {"using_shield": false, "mana": 100, "inventory": [53]}}, {"model": "charactercreator.cleric", "pk": 212, "fields": {"using_shield": false, "mana": 100, "inventory": [83, 163]}}, {"model": "charactercreator.cleric", "pk": 213, "fields": {"using_shield": false, "mana": 100, "inventory": [38, 116]}}, {"model": "charactercreator.cleric", "pk": 214, "fields": {"using_shield": false, "mana": 100, "inventory": [135]}}, {"model": "charactercreator.cleric", "pk": 215, "fields": {"using_shield": false, "mana": 100, "inventory": [68]}}, {"model": "charactercreator.cleric", "pk": 216, "fields": {"using_shield": false, "mana": 100, "inventory": [123, 134, 147]}}, {"model": "charactercreator.cleric", "pk": 217, "fields": {"using_shield": false, "mana": 100, "inventory": [73, 91, 145]}}, {"model": "charactercreator.cleric", "pk": 218, "fields": {"using_shield": false, "mana": 100, "inventory": [4, 168]}}, {"model": "charactercreator.cleric", "pk": 219, "fields": {"using_shield": false, "mana": 100, "inventory": [71]}}, {"model": "charactercreator.cleric", "pk": 220, "fields": {"using_shield": false, "mana": 100, "inventory": [9, 43, 97, 104]}}, {"model": "charactercreator.cleric", "pk": 221, "fields": {"using_shield": false, "mana": 100, "inventory": [33, 68, 71, 118]}}, {"model": "charactercreator.cleric", "pk": 222, "fields": {"using_shield": false, "mana": 100, "inventory": [53, 164]}}, {"model": "charactercreator.cleric", "pk": 223, "fields": {"using_shield": false, "mana": 100, "inventory": [91, 163]}}, {"model": "charactercreator.cleric", "pk": 224, "fields": {"using_shield": false, "mana": 100, "inventory": [142]}}, {"model": "charactercreator.cleric", "pk": 225, "fields": {"using_shield": false, "mana": 100, "inventory": [26, 78, 164]}}, {"model": "charactercreator.cleric", "pk": 226, "fields": {"using_shield": false, "mana": 100, "inventory": [4, 15]}}, {"model": "charactercreator.cleric", "pk": 227, "fields": {"using_shield": false, "mana": 100, "inventory": [103, 142, 148, 154]}}, {"model": "charactercreator.cleric", "pk": 228, "fields": {"using_shield": false, "mana": 100, "inventory": [38, 124]}}, {"model": "charactercreator.cleric", "pk": 229, "fields": {"using_shield": false, "mana": 100, "inventory": [54, 69, 159]}}, {"model": "charactercreator.cleric", "pk": 230, "fields": {"using_shield": false, "mana": 100, "inventory": [39]}}, {"model": "charactercreator.cleric", "pk": 231, "fields": {"using_shield": false, "mana": 100, "inventory": [1, 16, 38]}}, {"model": "charactercreator.cleric", "pk": 232, "fields": {"using_shield": false, "mana": 100, "inventory": [25, 48, 56, 66]}}, {"model": "charactercreator.cleric", "pk": 233, "fields": {"using_shield": false, "mana": 100, "inventory": [3, 37, 55, 60, 153]}}, {"model": "charactercreator.cleric", "pk": 234, "fields": {"using_shield": false, "mana": 100, "inventory": [11]}}, {"model": "charactercreator.cleric", "pk": 235, "fields": {"using_shield": false, "mana": 100, "inventory": [28, 36, 53, 64, 105]}}, {"model": "charactercreator.cleric", "pk": 236, "fields": {"using_shield": false, "mana": 100, "inventory": [96]}}, {"model": "charactercreator.cleric", "pk": 237, "fields": {"using_shield": false, "mana": 100, "inventory": [39]}}, {"model": "charactercreator.cleric", "pk": 238, "fields": {"using_shield": false, "mana": 100, "inventory": [18, 30, 129, 142, 173]}}, {"model": "charactercreator.cleric", "pk": 239, "fields": {"using_shield": false, "mana": 100, "inventory": [88, 117, 171]}}, {"model": "charactercreator.cleric", "pk": 240, "fields": {"using_shield": false, "mana": 100, "inventory": [25, 81, 136]}}, {"model": "charactercreator.thief", "pk": 241, "fields": {"is_sneaking": false, "energy": 100, "inventory": [68, 148, 169]}}, {"model": "charactercreator.thief", "pk": 242, "fields": {"is_sneaking": false, "energy": 100, "inventory": [146]}}, {"model": "charactercreator.thief", "pk": 243, "fields": {"is_sneaking": false, "energy": 100, "inventory": [5, 24, 153]}}, {"model": "charactercreator.thief", "pk": 244, "fields": {"is_sneaking": false, "energy": 100, "inventory": [10, 30, 55, 146]}}, {"model": "charactercreator.thief", "pk": 245, "fields": {"is_sneaking": false, "energy": 100, "inventory": [37, 81, 123, 148, 163]}}, {"model": "charactercreator.thief", "pk": 246, "fields": {"is_sneaking": false, "energy": 100, "inventory": [37, 81, 129]}}, {"model": "charactercreator.thief", "pk": 247, "fields": {"is_sneaking": false, "energy": 100, "inventory": [105, 108, 137, 148, 151]}}, {"model": "charactercreator.thief", "pk": 248, "fields": {"is_sneaking": false, "energy": 100, "inventory": [20]}}, {"model": "charactercreator.thief", "pk": 249, "fields": {"is_sneaking": false, "energy": 100, "inventory": [25, 53, 76, 87]}}, {"model": "charactercreator.thief", "pk": 250, "fields": {"is_sneaking": false, "energy": 100, "inventory": [4, 62, 150, 155]}}, {"model": "charactercreator.thief", "pk": 251, "fields": {"is_sneaking": false, "energy": 100, "inventory": [17, 63, 109, 112, 162]}}, {"model": "charactercreator.thief", "pk": 252, "fields": {"is_sneaking": false, "energy": 100, "inventory": [6, 169]}}, {"model": "charactercreator.thief", "pk": 253, "fields": {"is_sneaking": false, "energy": 100, "inventory": [13, 140]}}, {"model": "charactercreator.thief", "pk": 254, "fields": {"is_sneaking": false, "energy": 100, "inventory": [158]}}, {"model": "charactercreator.thief", "pk": 255, "fields": {"is_sneaking": false, "energy": 100, "inventory": [48, 79]}}, {"model": "charactercreator.thief", "pk": 256, "fields": {"is_sneaking": false, "energy": 100, "inventory": [165, 173]}}, {"model": "charactercreator.thief", "pk": 257, "fields": {"is_sneaking": false, "energy": 100, "inventory": [54, 123, 149]}}, {"model": "charactercreator.thief", "pk": 258, "fields": {"is_sneaking": false, "energy": 100, "inventory": [12, 36, 70, 119]}}, {"model": "charactercreator.thief", "pk": 259, "fields": {"is_sneaking": false, "energy": 100, "inventory": [27, 40, 60, 86, 89]}}, {"model": "charactercreator.thief", "pk": 260, "fields": {"is_sneaking": false, "energy": 100, "inventory": [50, 68, 97, 115]}}, {"model": "charactercreator.thief", "pk": 261, "fields": {"is_sneaking": false, "energy": 100, "inventory": [7, 34, 101, 169, 174]}}, {"model": "charactercreator.thief", "pk": 262, "fields": {"is_sneaking": false, "energy": 100, "inventory": [8, 51, 60, 161]}}, {"model": "charactercreator.thief", "pk": 263, "fields": {"is_sneaking": false, "energy": 100, "inventory": [13, 30, 132, 146]}}, {"model": "charactercreator.thief", "pk": 264, "fields": {"is_sneaking": false, "energy": 100, "inventory": [26, 106, 111, 134, 145]}}, {"model": "charactercreator.thief", "pk": 265, "fields": {"is_sneaking": false, "energy": 100, "inventory": [116, 117, 155]}}, {"model": "charactercreator.thief", "pk": 266, "fields": {"is_sneaking": false, "energy": 100, "inventory": [11, 66, 82, 85, 89]}}, {"model": "charactercreator.thief", "pk": 267, "fields": {"is_sneaking": false, "energy": 100, "inventory": [14, 47, 86, 150]}}, {"model": "charactercreator.thief", "pk": 268, "fields": {"is_sneaking": false, "energy": 100, "inventory": [68]}}, {"model": "charactercreator.thief", "pk": 269, "fields": {"is_sneaking": false, "energy": 100, "inventory": [81]}}, {"model": "charactercreator.thief", "pk": 270, "fields": {"is_sneaking": false, "energy": 100, "inventory": [12]}}, {"model": "charactercreator.thief", "pk": 271, "fields": {"is_sneaking": false, "energy": 100, "inventory": [68, 161]}}, {"model": "charactercreator.thief", "pk": 272, "fields": {"is_sneaking": false, "energy": 100, "inventory": [37, 106]}}, {"model": "charactercreator.thief", "pk": 273, "fields": {"is_sneaking": false, "energy": 100, "inventory": [43, 82, 121]}}, {"model": "charactercreator.thief", "pk": 274, "fields": {"is_sneaking": false, "energy": 100, "inventory": [84, 97, 98]}}, {"model": "charactercreator.thief", "pk": 275, "fields": {"is_sneaking": false, "energy": 100, "inventory": [8, 147]}}, {"model": "charactercreator.thief", "pk": 276, "fields": {"is_sneaking": false, "energy": 100, "inventory": [101]}}, {"model": "charactercreator.thief", "pk": 277, "fields": {"is_sneaking": false, "energy": 100, "inventory": [23]}}, {"model": "charactercreator.thief", "pk": 278, "fields": {"is_sneaking": false, "energy": 100, "inventory": [99]}}, {"model": "charactercreator.thief", "pk": 279, "fields": {"is_sneaking": false, "energy": 100, "inventory": [34, 156]}}, {"model": "charactercreator.thief", "pk": 280, "fields": {"is_sneaking": false, "energy": 100, "inventory": [73, 87, 137, 156, 169]}}, {"model": "charactercreator.thief", "pk": 281, "fields": {"is_sneaking": false, "energy": 100, "inventory": [19, 27, 76, 136, 174]}}, {"model": "charactercreator.thief", "pk": 282, "fields": {"is_sneaking": false, "energy": 100, "inventory": [16, 77, 131, 161]}}, {"model": "charactercreator.thief", "pk": 283, "fields": {"is_sneaking": false, "energy": 100, "inventory": [29, 96, 106, 165]}}, {"model": "charactercreator.thief", "pk": 284, "fields": {"is_sneaking": false, "energy": 100, "inventory": [55]}}, {"model": "charactercreator.thief", "pk": 285, "fields": {"is_sneaking": false, "energy": 100, "inventory": [3, 113, 116, 137, 171]}}, {"model": "charactercreator.thief", "pk": 286, "fields": {"is_sneaking": false, "energy": 100, "inventory": [32]}}, {"model": "charactercreator.thief", "pk": 287, "fields": {"is_sneaking": false, "energy": 100, "inventory": [32, 92, 118, 130, 156]}}, {"model": "charactercreator.thief", "pk": 288, "fields": {"is_sneaking": false, "energy": 100, "inventory": [37, 41, 134]}}, {"model": "charactercreator.thief", "pk": 289, "fields": {"is_sneaking": false, "energy": 100, "inventory": [52, 56, 81, 104, 132]}}, {"model": "charactercreator.thief", "pk": 290, "fields": {"is_sneaking": false, "energy": 100, "inventory": [96, 107, 115, 131, 141]}}, {"model": "charactercreator.thief", "pk": 291, "fields": {"is_sneaking": false, "energy": 100, "inventory": [10, 37, 74, 79]}}, {"model": "charactercreator.necromancer", "pk": 292, "fields": {"talisman_charged": true, "inventory": [128, 150]}}, {"model": "charactercreator.necromancer", "pk": 293, "fields": {"talisman_charged": true, "inventory": [112, 158]}}, {"model": "charactercreator.necromancer", "pk": 294, "fields": {"talisman_charged": true, "inventory": [49, 66, 102, 156, 164]}}, {"model": "charactercreator.necromancer", "pk": 295, "fields": {"talisman_charged": true, "inventory": [113, 167]}}, {"model": "charactercreator.necromancer", "pk": 296, "fields": {"talisman_charged": true, "inventory": [12, 90, 169]}}, {"model": "charactercreator.necromancer", "pk": 297, "fields": {"talisman_charged": true, "inventory": [31, 70, 74, 88]}}, {"model": "charactercreator.necromancer", "pk": 298, "fields": {"talisman_charged": true, "inventory": [15, 29]}}, {"model": "charactercreator.necromancer", "pk": 299, "fields": {"talisman_charged": true, "inventory": [19, 67, 109]}}, {"model": "charactercreator.necromancer", "pk": 300, "fields": {"talisman_charged": true, "inventory": [119]}}, {"model": "charactercreator.necromancer", "pk": 301, "fields": {"talisman_charged": true, "inventory": [52, 150]}}, {"model": "charactercreator.necromancer", "pk": 302, "fields": {"talisman_charged": true, "inventory": [21, 28, 51, 106, 141]}}, {"model": "armory.item", "pk": 1, "fields": {"name": "Libero facere dolore, as", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 2, "fields": {"name": "Qui", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 3, "fields": {"name": "Laborios", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 4, "fields": {"name": "Quibusdam illo deserunt ea", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 5, "fields": {"name": "Quod eveniet i", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 6, "fields": {"name": "Qui odio beata", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 7, "fields": {"name": "Omnis", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 8, "fields": {"name": "Saepe ea vo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 9, "fields": {"name": "Vel illo sed", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 10, "fields": {"name": "Pariatur hic iste m", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 11, "fields": {"name": "Eum illo expedita", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 12, "fields": {"name": "Laudantium recusand", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 13, "fields": {"name": "Molesti", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 14, "fields": {"name": "Veniam fuga n", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 15, "fields": {"name": "Animi molestias possimus nihil", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 16, "fields": {"name": "Assu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 17, "fields": {"name": "Officiis", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 18, "fields": {"name": "Consectetur deleniti cupi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 19, "fields": {"name": "Explicabo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 20, "fields": {"name": "Dolores rem v", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 21, "fields": {"name": "Sit rerum err", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 22, "fields": {"name": "Sapiente numquam qu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 23, "fields": {"name": "Nam ab illum culpa corporis fu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 24, "fields": {"name": "Blanditiis obcaecat", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 25, "fields": {"name": "Ex", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 26, "fields": {"name": "Assumenda nam i", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 27, "fields": {"name": "Distinctio mini", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 28, "fields": {"name": "Impedit libero id modi eos vol", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 29, "fields": {"name": "In p", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 30, "fields": {"name": "Possimus quae elig", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 31, "fields": {"name": "Vitae nulla praesentium magnam", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 32, "fields": {"name": "Ipsam placeat e", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 33, "fields": {"name": "Corporis ani", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 34, "fields": {"name": "Eius cum quis", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 35, "fields": {"name": "Suscip", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 36, "fields": {"name": "Soluta consequatur dolore", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 37, "fields": {"name": "Perferendis corr", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 38, "fields": {"name": "Reprehen", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 39, "fields": {"name": "Eveniet impedi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 40, "fields": {"name": "Accusamus reprehenderit beata", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 41, "fields": {"name": "Beatae do", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 42, "fields": {"name": "Error maiores nulla", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 43, "fields": {"name": "Tempore", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 44, "fields": {"name": "Culpa nemo vol", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 45, "fields": {"name": "Repellat iusto quam reprehen", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 46, "fields": {"name": "Exp", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 47, "fields": {"name": "Animi dolor at est", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 48, "fields": {"name": "Labore a consecte", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 49, "fields": {"name": "Sed quo corpor", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 50, "fields": {"name": "Officia asperiores obcaecati d", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 51, "fields": {"name": "Ipsam", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 52, "fields": {"name": "Molestiae veniam", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 53, "fields": {"name": "Perferendis repudiandae labo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 54, "fields": {"name": "Similique totam quasi ipsa ex", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 55, "fields": {"name": "Velit voluptatem", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 56, "fields": {"name": "Harum voluptatum ius", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 57, "fields": {"name": "Ex libero soluta", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 58, "fields": {"name": "Quos re", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 59, "fields": {"name": "Deleniti quas explica", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 60, "fields": {"name": "Porro molliti", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 61, "fields": {"name": "Enim laboriosam quae", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 62, "fields": {"name": "Natus rem repellat quas assum", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 63, "fields": {"name": "Quasi re", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 64, "fields": {"name": "Laudantium c", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 65, "fields": {"name": "Quos blanditiis nost", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 66, "fields": {"name": "Quisquam ut cupiditate", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 67, "fields": {"name": "Eaque nemo velit nece", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 68, "fields": {"name": "Repudiandae", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 69, "fields": {"name": "Minus illum vo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 70, "fields": {"name": "Minus repell", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 71, "fields": {"name": "Quia quasi labo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 72, "fields": {"name": "Eligendi fuga mol", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 73, "fields": {"name": "Beatae ita", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 74, "fields": {"name": "Quo sunt laudantium al", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 75, "fields": {"name": "Ist", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 76, "fields": {"name": "Voluptatem laborum dicta cum", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 77, "fields": {"name": "Corporis obcaecati ven", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 78, "fields": {"name": "Neque quae eum dign", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 79, "fields": {"name": "Dolorem quam neque, amet cum e", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 80, "fields": {"name": "Rem expedit", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 81, "fields": {"name": "Est sapiente iusto minus quam", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 82, "fields": {"name": "Atque laudantium dolor q", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 83, "fields": {"name": "Accusan", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 84, "fields": {"name": "Consectetur error o", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 85, "fields": {"name": "Alias laboriosam sapiente e", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 86, "fields": {"name": "Doloribus animi perspiciatis", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 87, "fields": {"name": "Hic possimus qua", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 88, "fields": {"name": "Unde quaerat tenetur", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 89, "fields": {"name": "Facere reprehenderit v", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 90, "fields": {"name": "Aperiam consequuntu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 91, "fields": {"name": "Quis expedita ip", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 92, "fields": {"name": "Ea vel deserunt aspernat", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 93, "fields": {"name": "Natus", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 94, "fields": {"name": "Optio iusto laboriosam te", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 95, "fields": {"name": "Laborios", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 96, "fields": {"name": "Commodi deserunt in illo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 97, "fields": {"name": "Ad numquam dicta cons", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 98, "fields": {"name": "Aliquid aliquam velit reru", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 99, "fields": {"name": "Facere q", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 100, "fields": {"name": "Incidunt libero assumen", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 101, "fields": {"name": "Earum suscipit ea voluptates i", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 102, "fields": {"name": "Sint dolorum", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 103, "fields": {"name": "Incidunt fugiat ea, ea", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 104, "fields": {"name": "Molestiae r", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 105, "fields": {"name": "Voluptatem labore laboriosa", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 106, "fields": {"name": "Et ducimus cumque aut perspic", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 107, "fields": {"name": "Corrupti ap", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 108, "fields": {"name": "Perferendis nesciunt quae dolo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 109, "fields": {"name": "Sunt doloremque recusanda", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 110, "fields": {"name": "Deleniti similique obc", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 111, "fields": {"name": "Numquam tempor", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 112, "fields": {"name": "Quibusdam deleniti quasi provi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 113, "fields": {"name": "Accusamus exercitat", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 114, "fields": {"name": "Error eveniet ipsum, expedi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 115, "fields": {"name": "Sapiente do", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 116, "fields": {"name": "Fuga necessitatibus", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 117, "fields": {"name": "Nam excepturi placeat asperna", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 118, "fields": {"name": "Dolore fugit itaq", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 119, "fields": {"name": "Beatae ve", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 120, "fields": {"name": "Blanditiis corporis exerci", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 121, "fields": {"name": "Nesciunt quia nobi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 122, "fields": {"name": "Quisquam e", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 123, "fields": {"name": "Illo q", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 124, "fields": {"name": "Repellat voluptates ea,", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 125, "fields": {"name": "Labore architecto tempora d", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 126, "fields": {"name": "Porro impedit enim earum nam n", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 127, "fields": {"name": "Evenie", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 128, "fields": {"name": "Similique do", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 129, "fields": {"name": "Quos voluptates at n", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 130, "fields": {"name": "Neq", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 131, "fields": {"name": "Neq", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 132, "fields": {"name": "Optio dolore itaque", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 133, "fields": {"name": "Libero saepe accusantium", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 134, "fields": {"name": "Illum nequ", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 135, "fields": {"name": "Culpa accusantium fugit id", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 136, "fields": {"name": "Fugit pariatur vero nesciu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 137, "fields": {"name": "Numqu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 138, "fields": {"name": "Corrupti sit at cum", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 139, "fields": {"name": "Est fugit incidunt co", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 140, "fields": {"name": "Quos nihil quibusdam", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 141, "fields": {"name": "Sit quidem tempora doloribus r", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 142, "fields": {"name": "Amet vel distinctio mo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 143, "fields": {"name": "Illum eaque atque recusand", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 144, "fields": {"name": "Dignissi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 145, "fields": {"name": "Corporis fug", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 146, "fields": {"name": "Sequi nesciunt", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 147, "fields": {"name": "Facere neque qu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 148, "fields": {"name": "Corporis voluptas provi", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 149, "fields": {"name": "Repella", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 150, "fields": {"name": "Culpa cumque quo vel", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 151, "fields": {"name": "Magni totam q", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 152, "fields": {"name": "Illu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 153, "fields": {"name": "Sit quibusdam ab, enim in ex", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 154, "fields": {"name": "Consequuntur at earum d", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 155, "fields": {"name": "Voluptatum doloremque to", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 156, "fields": {"name": "Expedita nam est in l", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 157, "fields": {"name": "Repelle", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 158, "fields": {"name": "Sit numqu", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 159, "fields": {"name": "Ipsum sit praesentium cum ame", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 160, "fields": {"name": "Totam delectus sed fugiat o", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 161, "fields": {"name": "Doloremq", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 162, "fields": {"name": "Id reprehenderit ullam rat", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 163, "fields": {"name": "Dignissimos dolo", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 164, "fields": {"name": "Inventore re", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 165, "fields": {"name": "Nemo expl", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 166, "fields": {"name": "Distinctio tene", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 167, "fields": {"name": "Recusandae fug", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 168, "fields": {"name": "Officiis illo cum acc", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 169, "fields": {"name": "Repudiandae molestias be", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 170, "fields": {"name": "Iure nob", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 171, "fields": {"name": "Ea dolor exercitation", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 172, "fields": {"name": "Omnis maxime deserunt", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 173, "fields": {"name": "Eum error eveni", "value": 0, "weight": 0}}, {"model": "armory.item", "pk": 174, "fields": {"name": "Atque repudiandae molestiae v", "value": 0, "weight": 0}}, {"model": "armory.weapon", "pk": 138, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 139, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 140, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 141, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 142, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 143, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 144, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 145, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 146, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 147, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 148, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 149, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 150, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 151, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 152, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 153, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 154, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 155, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 156, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 157, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 158, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 159, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 160, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 161, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 162, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 163, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 164, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 165, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 166, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 167, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 168, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 169, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 170, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 171, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 172, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 173, "fields": {"power": 0}}, {"model": "armory.weapon", "pk": 174, "fields": {"power": 0}}] \ No newline at end of file From 306d2252b3756a501e2412fcb5eddbdebc16a362 Mon Sep 17 00:00:00 2001 From: Toby Chen Date: Tue, 28 Jul 2020 21:19:39 -0400 Subject: [PATCH 8/8] Initial --- module3-nosql-and-document-oriented-databases/mongo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module3-nosql-and-document-oriented-databases/mongo.py b/module3-nosql-and-document-oriented-databases/mongo.py index cee70e8e..7c2e6250 100644 --- a/module3-nosql-and-document-oriented-databases/mongo.py +++ b/module3-nosql-and-document-oriented-databases/mongo.py @@ -1,4 +1,4 @@ -iimport pymongo +import pymongo import os import json from dotenv import load_dotenv