from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random doc = """ """ class Constants(BaseConstants): name_in_url = 'DE' players_per_group = None # original: num_rounds = 3 num_rounds = 1 #I needed to do this in order to not have pages skipped by the program num_prices = 11 expectation_payoff = 60 instructions_template = 'de_draft_three/instructions.html' main_instructions_template = 'de_draft_three/main_instructions.html' control_latter_half_instructions_template = 'de_draft_three/control_latter_half_instructions.html' main_control_latter_half_instructions_template = 'de_draft_three/main_control_latter_half_instructions.html' es_latter_half_instructions_template = 'de_draft_three/es_latter_half_instructions.html' main_es_latter_half_instructions_template = 'de_draft_three/main_es_latter_half_instructions.html' decision_screen_instructions_template = 'de_draft_three/decision_screen_instructions.html' guess_decision_screen_instructions_template = 'de_draft_three/guess_decision_screen_instructions.html' info_screen_instructions_template = 'de_draft_three/info_screen_instructions.html' personality_template = 'de_draft_three/personality_header.html' info_sheet = 'de_draft_three/info_sheet.html' show_up_fee = 0 ## I put .25 directly into the payoff computation in Pages s = 'Sell' h = 'Hold' ### CREATING VARIABLES FOR THE PURPOSE OF COMPUTING PERSONALITY AVERAGE SCORES ### num_e = 8 num_a = 9 num_c = 9 num_n = 8 num_o = 10 # instructions_template = 'lemon_market/Instructions.html' #initial_endowment = c(50) #buyer_extra_value = c(5) ## The first price is randomly selected integer U(a,b) ## The following two lines set the lower and upper limit of that distribution #first_price_lower = 70 first_price_lower = 50 #first_price_upper = 90 first_price_upper = 60 ## The following line sets the number of prices shown in the information sequence info_seq_num = 11 ## The following line is the number of direction processes there are direction_process_num = 2 ## Probabilities of increasing (out of 100) prob_up_high = 55 prob_up_low = 45 ## The following line is the number of magnitude processes there are magnitude_process_num = 3 ## Defining magnitude process numbers: mag_low = 1 mag_med = 3 mag_high = 5 class Subsession(BaseSubsession): def creating_session(self): for p in self.get_players(): ### RANDOM NUMBERS TO DETERMINE IF EXP OR INV DETERMINES ROUND PAYMENTS ### p.inv_or_exp_1 = random.randint(0, 1) p.inv_or_exp_2 = random.randint(0, 1) p.inv_or_exp_3 = random.randint(0, 1) p.inv_or_exp_4 = random.randint(0, 1) p.inv_or_exp_5 = random.randint(0, 1) ### FIRST ROUND ### price_seq = [] price_seq_dec = [] price_seq.append(random.randint(Constants.first_price_lower, Constants.first_price_upper)) price_seq_dec.append(random.randint(Constants.first_price_lower, Constants.first_price_upper)) ### SECOND ROUND ### #price_seq_02 = [] #price_seq_dec_02 = [] #price_seq_02.append(random.randint(Constants.first_price_lower, Constants.first_price_upper)) #price_seq_dec_02.append(random.randint(Constants.first_price_lower, Constants.first_price_upper)) ### FIRST ROUND ### p.price1 = price_seq[0] p.price1_dec = price_seq_dec[0] ### CREATING VECTORS OF FIRST PRICES ### first_price_info = [] first_price_dec = [] ## I think in the following code the stop is included in the numbers selected from for i in range(10): first_price_info.append(random.randint(Constants.first_price_lower, Constants.first_price_upper)) first_price_dec.append(random.randint(Constants.first_price_lower, Constants.first_price_upper)) ## for naming convention, price_a_b is the ath price of the bth series p.price_01_01_i = first_price_info[0] p.price_01_02_i = first_price_info[1] p.price_01_03_i = first_price_info[2] p.price_01_04_i = first_price_info[3] p.price_01_05_i = first_price_info[4] p.price_01_06_i = first_price_info[5] p.price_01_07_i = first_price_info[6] p.price_01_08_i = first_price_info[7] p.price_01_09_i = first_price_info[8] p.price_01_10_i = first_price_info[9] p.price_01_01_d = first_price_dec[0] p.price_01_02_d = first_price_dec[1] p.price_01_03_d = first_price_dec[2] p.price_01_04_d = first_price_dec[3] p.price_01_05_d = first_price_dec[4] p.price_01_06_d = first_price_dec[5] p.price_01_07_d = first_price_dec[6] p.price_01_08_d = first_price_dec[7] p.price_01_09_d = first_price_dec[8] p.price_01_10_d = first_price_dec[9] ### DETERMINING DIRECTION PROCESS FOR ALL THE SEQUENCES ### direction_process = [] for i in range(10): direction_process.append(random.randint(1, Constants.direction_process_num)) ### DETERMINING MAGNITUDE PROCESS FOR ALL THE SEQUENCES ### ### Note: syntax range(x) gives numbers 0 to x-1 magnitude_process = [] for i in range(10): magnitude_process.append(random.randint(1,Constants.magnitude_process_num)) ### DEFINING PLAYER LEVEL VARIABLE FOR PROCESSES ### p.direction_process_01 = direction_process[0] p.direction_process_02 = direction_process[1] p.direction_process_03 = direction_process[2] p.direction_process_04 = direction_process[3] p.direction_process_05 = direction_process[4] p.direction_process_06 = direction_process[5] p.direction_process_07 = direction_process[6] p.direction_process_08 = direction_process[7] p.direction_process_09 = direction_process[8] p.direction_process_10 = direction_process[9] p.magnitude_process_01 = magnitude_process[0] p.magnitude_process_02 = magnitude_process[1] p.magnitude_process_03 = magnitude_process[2] p.magnitude_process_04 = magnitude_process[3] p.magnitude_process_05 = magnitude_process[4] p.magnitude_process_06 = magnitude_process[5] p.magnitude_process_07 = magnitude_process[6] p.magnitude_process_08 = magnitude_process[7] p.magnitude_process_09 = magnitude_process[8] p.magnitude_process_10 = magnitude_process[9] ### GENERATING RANDOM NUMBERS TO DETERMINE DIRECTION AND MAGNITUDES FOR 10 ROUNDS ### direct_random_info = [] directions_info = [] direct_random_dec = [] directions_dec = [] for i in range(90): ## for i from 0 to 89 direct_random_info.append(random.randint(1, 100)) ## in randint(x,y), x and y are included directions_info.append(99) p.drand1 = direct_random_info[0] p.drand2 = direct_random_info[1] p.drand3 = direct_random_info[2] p.drand4 = direct_random_info[3] p.drand5 = direct_random_info[4] p.drand6 = direct_random_info[5] p.drand7 = direct_random_info[6] p.drand8 = direct_random_info[7] p.drand9 = direct_random_info[8] for i in range(100): direct_random_dec.append(random.randint(1, 100)) directions_dec.append(99) ### this is creating two vectors, one for ALL info directions and one for ALL dec directions for i in range(10): ## for i from 0 to 10, 10 not included if direction_process[i] == 1: ## If the i'th value of process is 1 (if the process for the ith sequence is 1 for j in range(i*9, (i+1)*9): ## ex: if i=0, j is from 0 to 9, 9 not included; if i=1, j is from 9 to 18, 18 not included if direct_random_info[j] <= Constants.prob_up_low: ## the prob of up is small directions_info[j] = 1 else: directions_info[j] = -1 for h in range(i*10, (i+1)*10): ## If i=10, j is from 0 to 9; if i=1, j is from 10 to 19, it's 10 here instead of 9 because there's one more price in this sequence if direct_random_dec[h] <= Constants.prob_up_low: directions_dec[h] = 1 else: directions_dec[h] = -1 else: ## (the process of the ith sequence isn't 1) for j in range(i*9, (i+1)*9): if direct_random_info[j] <= Constants.prob_up_high: ## the prob of up is big directions_info[j] = 1 else: directions_info[j] = -1 for h in range(i*10, (i+1)*10): if direct_random_dec[h] <= Constants.prob_up_high: directions_dec[h] = 1 else: directions_dec[h] = -1 p.d1i = directions_info[0] p.d2i = directions_info[1] p.d3i = directions_info[2] p.d4i = directions_info[3] p.d5i = directions_info[4] p.d6i = directions_info[5] p.d7i = directions_info[6] p.d8i = directions_info[7] p.d9i = directions_info[8] mag_random_info = [] mags_info = [] mag_random_dec = [] mags_dec = [] eckel_grossman_random = random.randint(1,2) for i in range(90): mag_random_info.append(random.randint(1,4)) ## generates numbers used to determine magnitudes #mag_random_dec.append(random.randint(1,4)) mags_info.append(99) ## fills the series with filler values so that I can use the for loop without "append" #mags_dec.append(99) for i in range(100): mag_random_dec.append(random.randint(1,4)) mags_dec.append(99) for i in range(10): if magnitude_process[i] == 1: ## if the magnitude process is the high variance process for j in range(i*9, (i+1)*9): if mag_random_info[j] == 1: mags_info[j] = Constants.mag_low elif mag_random_info[j] == 2: mags_info[j] = Constants.mag_med else: mags_info[j] = Constants.mag_high for h in range(i*10,(i+1)*10): if mag_random_dec[h] == 1: mags_dec[h] = Constants.mag_low elif mag_random_dec[h] == 2: mags_dec[h] = Constants.mag_med else: mags_dec[h] = Constants.mag_high elif magnitude_process[i] == 2: ## if the magnitude process is medium variance for j in range(i*9, (i+1)*9): if mag_random_info[j] == 1: mags_info[j] = Constants.mag_low elif mag_random_info[j] == 4: mags_info[j] = Constants.mag_high else: mags_info[j] = Constants.mag_med for h in range(i*10,(i+1)*10): if mag_random_dec[h] == 1: mags_dec[h] = Constants.mag_low elif mag_random_dec[h] == 4: mags_dec[h] = Constants.mag_high else: mags_dec[h] = Constants.mag_med else: for j in range(i*9, (i+1)*9): if mag_random_info[j] == 3: mags_info[j] = Constants.mag_med elif mag_random_info[j] == 4: mags_info[j] = Constants.mag_high else: mags_info[j] = Constants.mag_low for h in range(i*10,(i+1)*10): if mag_random_dec[h] == 3: mags_dec[h] = Constants.mag_med elif mag_random_dec[h] == 4: mags_dec[h] = Constants.mag_high else: mags_dec[h] = Constants.mag_med change_info = [] for i in range(90): change_info.append(99) change_dec = [] for i in range(100): change_dec.append(99) for j in range(90): change_info[j] = directions_info[j] * mags_info[j] for j in range(100): change_dec[j] = directions_dec[j] * mags_dec[j] ### MAKING SEQUENCES ### ### INITIALIZING VECTORS ### seq_01_info = [] seq_02_info = [] seq_03_info = [] seq_04_info = [] seq_05_info = [] seq_06_info = [] seq_07_info = [] seq_08_info = [] seq_09_info = [] seq_10_info = [] seq_01_dec = [] seq_02_dec = [] seq_03_dec = [] seq_04_dec = [] seq_05_dec = [] seq_06_dec = [] seq_07_dec = [] seq_08_dec = [] seq_09_dec = [] seq_10_dec = [] ### FILLING IN VECTORS WITH SPACE-FILLER VALUES ### for i in range(10): seq_01_info.append(999) for i in range(10): seq_02_info.append(999) for i in range(10): seq_03_info.append(999) for i in range(10): seq_04_info.append(999) for i in range(10): seq_05_info.append(999) for i in range(10): seq_06_info.append(999) for i in range(10): seq_07_info.append(999) for i in range(10): seq_08_info.append(999) for i in range(10): seq_09_info.append(999) for i in range(10): seq_10_info.append(999) for i in range(11): seq_01_dec.append(999) for i in range(11): seq_02_dec.append(999) for i in range(11): seq_03_dec.append(999) for i in range(11): seq_04_dec.append(999) for i in range(11): seq_05_dec.append(999) for i in range(11): seq_06_dec.append(999) for i in range(11): seq_07_dec.append(999) for i in range(11): seq_08_dec.append(999) for i in range(11): seq_09_dec.append(999) for i in range(11): seq_10_dec.append(999) ### PUTTING IN FIRST PRICES ### seq_01_info[0] = first_price_info[0] seq_02_info[0] = first_price_info[1] seq_03_info[0] = first_price_info[2] seq_04_info[0] = first_price_info[3] seq_05_info[0] = first_price_info[4] seq_06_info[0] = first_price_info[5] seq_07_info[0] = first_price_info[6] seq_08_info[0] = first_price_info[7] seq_09_info[0] = first_price_info[8] seq_10_info[0] = first_price_info[9] seq_01_dec[0] = first_price_dec[0] seq_02_dec[0] = first_price_dec[1] seq_03_dec[0] = first_price_dec[2] seq_04_dec[0] = first_price_dec[3] seq_05_dec[0] = first_price_dec[4] seq_06_dec[0] = first_price_dec[5] seq_07_dec[0] = first_price_dec[6] seq_08_dec[0] = first_price_dec[7] seq_09_dec[0] = first_price_dec[8] seq_10_dec[0] = first_price_dec[9] ### FILLING IN THE REST OF THE PRICES INTO THE PRICE VECTORS ### for j in range(9): seq_01_info[j+1] = seq_01_info[j] + change_info[j] seq_02_info[j+1] = seq_02_info[j] + change_info[j+9] seq_03_info[j+1] = seq_03_info[j] + change_info[j+18] seq_04_info[j + 1] = seq_04_info[j] + change_info[j + 27] seq_05_info[j + 1] = seq_05_info[j] + change_info[j + 36] seq_06_info[j + 1] = seq_06_info[j] + change_info[j + 45] seq_07_info[j + 1] = seq_07_info[j] + change_info[j + 54] seq_08_info[j + 1] = seq_08_info[j] + change_info[j + 63] seq_09_info[j + 1] = seq_09_info[j] + change_info[j + 72] seq_10_info[j + 1] = seq_10_info[j] + change_info[j + 81] for h in range(10): seq_01_dec[h+1] = seq_01_dec[h] + change_dec[h] seq_02_dec[h + 1] = seq_02_dec[h] + change_dec[h+10] seq_03_dec[h + 1] = seq_03_dec[h] + change_dec[h+20] seq_04_dec[h + 1] = seq_04_dec[h] + change_dec[h + 30] seq_05_dec[h + 1] = seq_05_dec[h] + change_dec[h + 40] seq_06_dec[h + 1] = seq_06_dec[h] + change_dec[h + 50] seq_07_dec[h + 1] = seq_07_dec[h] + change_dec[h + 60] seq_08_dec[h + 1] = seq_08_dec[h] + change_dec[h + 70] seq_09_dec[h + 1] = seq_09_dec[h] + change_dec[h + 80] seq_10_dec[h + 1] = seq_10_dec[h] + change_dec[h + 90] ### CREATING PLAYER LEVEL VARIABLES FOR INFORMATION PRICES AFTER FIRST PRICE ### # naming convention: price_a_b is the ath price of the bth series p.price_02_01_i = seq_01_info[1] p.price_03_01_i = seq_01_info[2] p.price_04_01_i = seq_01_info[3] p.price_05_01_i = seq_01_info[4] p.price_06_01_i = seq_01_info[5] p.price_07_01_i = seq_01_info[6] p.price_08_01_i = seq_01_info[7] p.price_09_01_i = seq_01_info[8] p.price_10_01_i = seq_01_info[9] p.price_02_02_i = seq_02_info[1] p.price_03_02_i = seq_02_info[2] p.price_04_02_i = seq_02_info[3] p.price_05_02_i = seq_02_info[4] p.price_06_02_i = seq_02_info[5] p.price_07_02_i = seq_02_info[6] p.price_08_02_i = seq_02_info[7] p.price_09_02_i = seq_02_info[8] p.price_10_02_i = seq_02_info[9] p.price_02_03_i = seq_03_info[1] p.price_03_03_i = seq_03_info[2] p.price_04_03_i = seq_03_info[3] p.price_05_03_i = seq_03_info[4] p.price_06_03_i = seq_03_info[5] p.price_07_03_i = seq_03_info[6] p.price_08_03_i = seq_03_info[7] p.price_09_03_i = seq_03_info[8] p.price_10_03_i = seq_03_info[9] p.price_02_04_i = seq_04_info[1] p.price_03_04_i = seq_04_info[2] p.price_04_04_i = seq_04_info[3] p.price_05_04_i = seq_04_info[4] p.price_06_04_i = seq_04_info[5] p.price_07_04_i = seq_04_info[6] p.price_08_04_i = seq_04_info[7] p.price_09_04_i = seq_04_info[8] p.price_10_04_i = seq_04_info[9] p.price_02_05_i = seq_05_info[1] p.price_03_05_i = seq_05_info[2] p.price_04_05_i = seq_05_info[3] p.price_05_05_i = seq_05_info[4] p.price_06_05_i = seq_05_info[5] p.price_07_05_i = seq_05_info[6] p.price_08_05_i = seq_05_info[7] p.price_09_05_i = seq_05_info[8] p.price_10_05_i = seq_05_info[9] p.price_02_06_i = seq_06_info[1] p.price_03_06_i = seq_06_info[2] p.price_04_06_i = seq_06_info[3] p.price_05_06_i = seq_06_info[4] p.price_06_06_i = seq_06_info[5] p.price_07_06_i = seq_06_info[6] p.price_08_06_i = seq_06_info[7] p.price_09_06_i = seq_06_info[8] p.price_10_06_i = seq_06_info[9] p.price_02_07_i = seq_07_info[1] p.price_03_07_i = seq_07_info[2] p.price_04_07_i = seq_07_info[3] p.price_05_07_i = seq_07_info[4] p.price_06_07_i = seq_07_info[5] p.price_07_07_i = seq_07_info[6] p.price_08_07_i = seq_07_info[7] p.price_09_07_i = seq_07_info[8] p.price_10_07_i = seq_07_info[9] p.price_02_08_i = seq_08_info[1] p.price_03_08_i = seq_08_info[2] p.price_04_08_i = seq_08_info[3] p.price_05_08_i = seq_08_info[4] p.price_06_08_i = seq_08_info[5] p.price_07_08_i = seq_08_info[6] p.price_08_08_i = seq_08_info[7] p.price_09_08_i = seq_08_info[8] p.price_10_08_i = seq_08_info[9] p.price_02_09_i = seq_09_info[1] p.price_03_09_i = seq_09_info[2] p.price_04_09_i = seq_09_info[3] p.price_05_09_i = seq_09_info[4] p.price_06_09_i = seq_09_info[5] p.price_07_09_i = seq_09_info[6] p.price_08_09_i = seq_09_info[7] p.price_09_09_i = seq_09_info[8] p.price_10_09_i = seq_09_info[9] p.price_02_10_i = seq_10_info[1] p.price_03_10_i = seq_10_info[2] p.price_04_10_i = seq_10_info[3] p.price_05_10_i = seq_10_info[4] p.price_06_10_i = seq_10_info[5] p.price_07_10_i = seq_10_info[6] p.price_08_10_i = seq_10_info[7] p.price_09_10_i = seq_10_info[8] p.price_10_10_i = seq_10_info[9] ### CREATING PLAYER LEVEL VARIABLES FOR INFORMATION PRICES AFTER FIRST PRICE ### # naming convention: price_a_b is the ath price of the bth series p.price_02_01_d = seq_01_dec[1] p.price_03_01_d = seq_01_dec[2] p.price_04_01_d = seq_01_dec[3] p.price_05_01_d = seq_01_dec[4] p.price_06_01_d = seq_01_dec[5] p.price_07_01_d = seq_01_dec[6] p.price_08_01_d = seq_01_dec[7] p.price_09_01_d = seq_01_dec[8] p.price_10_01_d = seq_01_dec[9] p.price_11_01_d = seq_01_dec[10] p.price_02_02_d = seq_02_dec[1] p.price_03_02_d = seq_02_dec[2] p.price_04_02_d = seq_02_dec[3] p.price_05_02_d = seq_02_dec[4] p.price_06_02_d = seq_02_dec[5] p.price_07_02_d = seq_02_dec[6] p.price_08_02_d = seq_02_dec[7] p.price_09_02_d = seq_02_dec[8] p.price_10_02_d = seq_02_dec[9] p.price_11_02_d = seq_02_dec[10] p.price_02_03_d = seq_03_dec[1] p.price_03_03_d = seq_03_dec[2] p.price_04_03_d = seq_03_dec[3] p.price_05_03_d = seq_03_dec[4] p.price_06_03_d = seq_03_dec[5] p.price_07_03_d = seq_03_dec[6] p.price_08_03_d = seq_03_dec[7] p.price_09_03_d = seq_03_dec[8] p.price_10_03_d = seq_03_dec[9] p.price_11_03_d = seq_03_dec[10] p.price_02_03_d = seq_03_dec[1] p.price_03_03_d = seq_03_dec[2] p.price_04_03_d = seq_03_dec[3] p.price_05_03_d = seq_03_dec[4] p.price_06_03_d = seq_03_dec[5] p.price_07_03_d = seq_03_dec[6] p.price_08_03_d = seq_03_dec[7] p.price_09_03_d = seq_03_dec[8] p.price_10_03_d = seq_03_dec[9] p.price_11_03_d = seq_03_dec[10] p.price_02_04_d = seq_04_dec[1] p.price_03_04_d = seq_04_dec[2] p.price_04_04_d = seq_04_dec[3] p.price_05_04_d = seq_04_dec[4] p.price_06_04_d = seq_04_dec[5] p.price_07_04_d = seq_04_dec[6] p.price_08_04_d = seq_04_dec[7] p.price_09_04_d = seq_04_dec[8] p.price_10_04_d = seq_04_dec[9] p.price_11_04_d = seq_04_dec[10] p.price_02_05_d = seq_05_dec[1] p.price_03_05_d = seq_05_dec[2] p.price_04_05_d = seq_05_dec[3] p.price_05_05_d = seq_05_dec[4] p.price_06_05_d = seq_05_dec[5] p.price_07_05_d = seq_05_dec[6] p.price_08_05_d = seq_05_dec[7] p.price_09_05_d = seq_05_dec[8] p.price_10_05_d = seq_05_dec[9] p.price_11_05_d = seq_05_dec[10] p.price_02_06_d = seq_06_dec[1] p.price_03_06_d = seq_06_dec[2] p.price_04_06_d = seq_06_dec[3] p.price_05_06_d = seq_06_dec[4] p.price_06_06_d = seq_06_dec[5] p.price_07_06_d = seq_06_dec[6] p.price_08_06_d = seq_06_dec[7] p.price_09_06_d = seq_06_dec[8] p.price_10_06_d = seq_06_dec[9] p.price_11_06_d = seq_06_dec[10] p.price_02_07_d = seq_07_dec[1] p.price_03_07_d = seq_07_dec[2] p.price_04_07_d = seq_07_dec[3] p.price_05_07_d = seq_07_dec[4] p.price_06_07_d = seq_07_dec[5] p.price_07_07_d = seq_07_dec[6] p.price_08_07_d = seq_07_dec[7] p.price_09_07_d = seq_07_dec[8] p.price_10_07_d = seq_07_dec[9] p.price_11_07_d = seq_07_dec[10] p.price_02_08_d = seq_08_dec[1] p.price_03_08_d = seq_08_dec[2] p.price_04_08_d = seq_08_dec[3] p.price_05_08_d = seq_08_dec[4] p.price_06_08_d = seq_08_dec[5] p.price_07_08_d = seq_08_dec[6] p.price_08_08_d = seq_08_dec[7] p.price_09_08_d = seq_08_dec[8] p.price_10_08_d = seq_08_dec[9] p.price_11_08_d = seq_08_dec[10] p.price_02_09_d = seq_09_dec[1] p.price_03_09_d = seq_09_dec[2] p.price_04_09_d = seq_09_dec[3] p.price_05_09_d = seq_09_dec[4] p.price_06_09_d = seq_09_dec[5] p.price_07_09_d = seq_09_dec[6] p.price_08_09_d = seq_09_dec[7] p.price_09_09_d = seq_09_dec[8] p.price_10_09_d = seq_09_dec[9] p.price_11_09_d = seq_09_dec[10] p.price_02_10_d = seq_10_dec[1] p.price_03_10_d = seq_10_dec[2] p.price_04_10_d = seq_10_dec[3] p.price_05_10_d = seq_10_dec[4] p.price_06_10_d = seq_10_dec[5] p.price_07_10_d = seq_10_dec[6] p.price_08_10_d = seq_10_dec[7] p.price_09_10_d = seq_10_dec[8] p.price_10_10_d = seq_10_dec[9] p.price_11_10_d = seq_10_dec[10] p.eg_rand = eckel_grossman_random #if p.price11_dec >= p.price1_dec: # color_red_01 = 0 def vars_for_admin_report(self): # group = self.get_groups()[0] for p in self.get_players(): series_01_i = [] series_01_i.append({ 'name': 'Price', 'data': [[1, p.price_01_01_i], [2, p.price_02_01_i], [3, p.price_03_01_i], [4, p.price_04_01_i], [5, p.price_05_01_i], [6, p.price_06_01_i], [7, p.price_07_01_i], [8, p.price_08_01_i], [9, p.price_09_01_i], [10, p.price_10_01_i]] }) series_01_d = [] series_01_d.append({ 'name': 'Price', 'data': [[1, p.price_01_01_d], [10, p.price_10_01_d]] }) series_01_r = [] series_01_r.append({ 'name': 'Price', 'data': [[1, p.price_01_01_d], [10, p.price_10_01_d], [11, p.price_11_01_d]] }) series_02_i = [] series_02_i.append({ 'name': 'Price', 'data': [[1, p.price_01_02_i], [2, p.price_02_02_i], [3, p.price_03_02_i], [4, p.price_04_02_i], [5, p.price_05_02_i], [6, p.price_06_02_i], [7, p.price_07_02_i], [8, p.price_08_02_i], [9, p.price_09_02_i], [10, p.price_10_02_i]] }) series_02_d = [] series_02_d.append({ 'name': 'Price', 'data': [[1, p.price_01_02_d], [10, p.price_10_02_d]] }) series_02_r = [] series_02_r.append({ 'name': 'Price', 'data': [[1, p.price_01_02_d], [10, p.price_10_02_d], [11, p.price_11_02_d]] }) series_03_i = [] series_03_i.append({ 'name': 'Price', 'data': [[1, p.price_01_03_i], [2, p.price_02_03_i], [3, p.price_03_03_i], [4, p.price_04_03_i], [5, p.price_05_03_i], [6, p.price_06_03_i], [7, p.price_07_03_i], [8, p.price_08_03_i], [9, p.price_09_03_i], [10, p.price_10_03_i]] }) series_03_d = [] series_03_d.append({ 'name': 'Price', 'data': [[1, p.price_01_03_d], [10, p.price_10_03_d]] }) series_03_r = [] series_03_r.append({ 'name': 'Price', 'data': [[1, p.price_01_03_d], [10, p.price_10_03_d], [11, p.price_11_03_d]] }) series_04_i = [] series_04_i.append({ 'name': 'Price', 'data': [[1, p.price_01_04_i], [2, p.price_02_04_i], [3, p.price_03_04_i], [4, p.price_04_04_i], [5, p.price_05_04_i], [6, p.price_06_04_i], [7, p.price_07_04_i], [8, p.price_08_04_i], [9, p.price_09_04_i], [10, p.price_10_04_i]] }) series_04_d = [] series_04_d.append({ 'name': 'Price', 'data': [[1, p.price_01_04_d], [10, p.price_10_04_d]] }) series_04_r = [] series_04_r.append({ 'name': 'Price', 'data': [[1, p.price_01_04_d], [10, p.price_10_04_d], [11, p.price_11_04_d]] }) series_05_i = [] series_05_i.append({ 'name': 'Price', 'data': [[1, p.price_01_05_i], [2, p.price_02_05_i], [3, p.price_03_05_i], [4, p.price_04_05_i], [5, p.price_05_05_i], [6, p.price_06_05_i], [7, p.price_07_05_i], [8, p.price_08_05_i], [9, p.price_09_05_i], [10, p.price_10_05_i]] }) series_05_d = [] series_05_d.append({ 'name': 'Price', 'data': [[1, p.price_01_05_d], [10, p.price_10_05_d]] }) series_05_r = [] series_05_r.append({ 'name': 'Price', 'data': [[1, p.price_01_05_d], [10, p.price_10_05_d], [11, p.price_11_06_d]] }) series_06_i = [] series_06_i.append({ 'name': 'Price', 'data': [[1, p.price_01_06_i], [2, p.price_02_06_i], [3, p.price_03_06_i], [4, p.price_04_06_i], [5, p.price_05_06_i], [6, p.price_06_06_i], [7, p.price_07_06_i], [8, p.price_08_06_i], [9, p.price_09_06_i], [10, p.price_10_06_i]] }) series_06_d = [] series_06_d.append({ 'name': 'Price', 'data': [[1, p.price_01_06_d], [10, p.price_10_06_d]] }) series_06_r = [] series_06_r.append({ 'name': 'Price', 'data': [[1, p.price_01_06_d], [10, p.price_10_06_d], [11, p.price_11_06_d]] }) series_07_i = [] series_07_i.append({ 'name': 'Price', 'data': [[1, p.price_01_07_i], [2, p.price_02_07_i], [3, p.price_03_07_i], [4, p.price_04_07_i], [5, p.price_05_07_i], [6, p.price_06_07_i], [7, p.price_07_07_i], [8, p.price_08_07_i], [9, p.price_09_07_i], [10, p.price_10_07_i]] }) series_07_d = [] series_07_d.append({ 'name': 'Price', 'data': [[1, p.price_01_07_d], [10, p.price_10_07_d]] }) series_07_r = [] series_07_r.append({ 'name': 'Price', 'data': [[1, p.price_01_07_d], [10, p.price_10_07_d], [11, p.price_11_07_d]] }) series_08_i = [] series_08_i.append({ 'name': 'Price', 'data': [[1, p.price_01_08_i], [2, p.price_02_08_i], [3, p.price_03_08_i], [4, p.price_04_08_i], [5, p.price_05_08_i], [6, p.price_06_08_i], [7, p.price_07_08_i], [8, p.price_08_08_i], [9, p.price_09_08_i], [10, p.price_10_08_i]] }) series_08_d = [] series_08_d.append({ 'name': 'Price', 'data': [[1, p.price_01_08_d], [10, p.price_10_08_d]] }) series_08_r = [] series_08_r.append({ 'name': 'Price', 'data': [[1, p.price_01_08_d], [10, p.price_10_08_d], [11, p.price_11_08_d]] }) series_09_i = [] series_09_i.append({ 'name': 'Price', 'data': [[1, p.price_01_09_i], [2, p.price_02_09_i], [3, p.price_03_09_i], [4, p.price_04_09_i], [5, p.price_05_09_i], [6, p.price_06_09_i], [7, p.price_07_09_i], [8, p.price_08_09_i], [9, p.price_09_09_i], [10, p.price_10_09_i]] }) series_09_d = [] series_09_d.append({ 'name': 'Price', 'data': [[1, p.price_01_09_d], [10, p.price_10_09_d]] }) series_09_r = [] series_09_r.append({ 'name': 'Price', 'data': [[1, p.price_01_09_d], [10, p.price_10_09_d], [11, p.price_11_09_d]] }) series_10_i = [] series_10_i.append({ 'name': 'Price', 'data': [[1, p.price_01_10_i], [2, p.price_02_10_i], [3, p.price_03_10_i], [4, p.price_04_10_i], [5, p.price_05_10_i], [6, p.price_06_10_i], [7, p.price_07_10_i], [8, p.price_08_10_i], [9, p.price_09_10_i], [10, p.price_10_10_i]] }) series_10_d = [] series_10_d.append({ 'name': 'Price', 'data': [[1, p.price_01_10_d], [10, p.price_10_10_d]] }) series_10_r = [] series_10_r.append({ 'name': 'Price', 'data': [[1, p.price_01_10_d], [10, p.price_10_10_d], [11, p.price_11_10_d]] }) ## Creating the vector for the x axis of the decision sequence dec_seq_num = [] dec_seq_num.append(1) dec_seq_num.append(10) return { 'series_01_i': series_01_i, 'series_01_d': series_01_d, 'series_01_r': series_01_r, 'series_02_i': series_02_i, 'series_02_d': series_02_d, 'series_02_r': series_02_r, 'series_03_i': series_03_i, 'series_03_d': series_03_d, 'series_03_r': series_03_r, 'series_04_i': series_04_i, 'series_04_d': series_04_d, 'series_04_r': series_04_r, 'series_05_i': series_05_i, 'series_05_d': series_05_d, 'series_05_r': series_05_r, 'series_06_i': series_06_i, 'series_06_d': series_06_d, 'series_06_r': series_06_r, 'series_07_i': series_07_i, 'series_07_d': series_07_d, 'series_07_r': series_07_r, 'series_08_i': series_08_i, 'series_08_d': series_08_d, 'series_08_r': series_08_r, 'series_09_i': series_09_i, 'series_09_d': series_09_d, 'series_09_r': series_09_r, 'series_10_i': series_10_i, 'series_10_d': series_10_d, 'series_10_r': series_10_r, 'round_numbers': list(range(1, Constants.num_prices + 1)), 'dec_seq_numbers': dec_seq_num, #'nonsense': ['fuck', 'this', 'shit', 'bitch'], ## The list of numbers generated using the "list(range(min,max))" command will be ## min to max-1 I think, since list, by itself, starts with 0 as the beginning of the index, ## But I think if it's used in a graph, the categories at the bottom will not exceed ## the data } class Group(BaseGroup): pass class Player(BasePlayer): ### CAPTCHA ### captcha = models.CharField(blank=True) ### DUMMIES FOR WHICH TREATMENT GROUP IT IS ### path = models.IntegerField(initial=0) treat = models.IntegerField(initial=1) ### STUDENT EXTRA CREDIT ### stud_name = models.StringField( label="" ) stud_instructions_comment = models.StringField( label="" ) stud_other_comments = models.StringField( label="" ) stud_section = models.IntegerField( label="" ) stud_course = models.StringField( label="" ) inv_dec_01 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Would you like to sell or hold the asset?" ) inv_dec_02 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Would you like to sell or hold the asset?" ) inv_dec_03 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Would you like to sell or hold the asset?" ) inv_dec_04 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Would you like to sell or hold the asset?" ) inv_dec_05 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Would you like to sell or hold the asset?" ) inv_dec_06 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Considering your estimate of final price, would you like to sell or hold the asset?" ) inv_dec_07 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Considering your estimate of final price, would you like to sell or hold the asset?" ) inv_dec_08 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Considering your estimate of final price, would you like to sell or hold the asset?" ) inv_dec_09 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Considering your estimate of final price, would you like to sell or hold the asset?" ) inv_dec_10 = models.IntegerField( choices=[ [1, 'Sell'], [0, 'Hold'] ], widget=widgets.RadioSelectHorizontal, label="Considering your estimate of final price, would you like to sell or hold the asset?" ) ### EXPECTATIONS ### exp_1 = models.IntegerField( min=0, label='' ) exp_2 = models.IntegerField( min=0, label='' ) exp_3 = models.IntegerField( min=0, label='' ) exp_4 = models.IntegerField( min=0, label='' ) exp_5 = models.IntegerField( min=0, label='' ) round_earnings_01 = models.IntegerField() round_earnings_02 = models.IntegerField() round_earnings_03 = models.IntegerField() round_earnings_04 = models.IntegerField() round_earnings_05 = models.IntegerField() round_earnings_06 = models.IntegerField() round_earnings_07 = models.IntegerField() round_earnings_08 = models.IntegerField() round_earnings_09 = models.IntegerField() round_earnings_10 = models.IntegerField() game_earnings_01 = models.IntegerField(initial=0) game_earnings_02 = models.IntegerField(initial=0) game_earnings_03 = models.IntegerField(initial=0) game_earnings_04 = models.IntegerField(initial=0) game_earnings_05 = models.IntegerField(initial=0) game_earnings_06 = models.IntegerField(initial=0) game_earnings_07 = models.IntegerField(initial=0) game_earnings_08 = models.IntegerField(initial=0) game_earnings_09 = models.IntegerField(initial=0) game_earnings_10 = models.IntegerField(initial=0) ### PERSONALITY AVERAGES ### extra_avg = models.FloatField() open_avg = models.FloatField() agree_avg = models.FloatField() con_avg = models.FloatField() neuro_avg = models.FloatField() ### ECKEL GROSSMAN ### eg_choice = models.IntegerField( choices=[ [1, 'Gamble 1'], [2, 'Gamble 2'], [3, 'Gamble 3'], [4, 'Gamble 4'], [5, 'Gamble 5'] ], widget=widgets.RadioSelectHorizontal, label='Which gamble would you like to take?' ) eg_rand = models.IntegerField() eg_payoff = models.IntegerField(initial=0) ### EARNINGS IN DOLLARS ### dollar_earnings = models.FloatField() ### SURVEY QUESTIONS ### ### CLARITY OF INSTRUCTIONS ### clarity = models.IntegerField( label='The instructions in the asset investment stages (the first 2 stages) of the experiment were clear.', choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ] ) instructions_comments = models.StringField( label="" ) ### AGE ### age = models.IntegerField( min=18, max=120, label='What is your age?' ) ### INCOME ### income = models.IntegerField( #choices=[ # [1, 'Less than $20,000'], # [2, '$20,000-$44,999'], # [3, '$45,000-$139,999'], # [4, '$140,000-$149,999'], # [5, '$150,000-$199,999'], # [6, '$200,000+'] #], label='Rounding to the nears $1,000, what were your yearly earnings in 2019?' ) ### INVESTOR EXPERIENCE ### # investor_experience = models.IntegerField( # choices=[ # [1,'None'], # [2, 'A little'], # [3, 'A moderate amount'], # [4, 'A lot'] # ], # widget=widgets.RadioSelect, # label="How much investing experience would you say you have? Examples are the stock market, bond market, housing market, etc." # ) investor_experience = models.IntegerField( choices=[ [1, 'Very inexperienced'], [2, 'Somewhat inexperienced'], [3, 'Somewhat experienced'], [4, 'Very experienced'] ], label='When it comes to investing in stock or bond mutual funds, ETFs (exchange-traded funds), or individual stocks or bonds, how would you describe yourself?' ) investor_comfort = models.IntegerField( choices=[ [1, 'Comfortable'], [2, 'Uncomfortable'], [3, 'No opinion'] ], label='Are you comfortable or uncomfortable with the idea of managing your own investments?' ) ### GAMBLING FREQUENCY ### gambling_frequency = models.IntegerField( choices=[ [1, 'Never'], [2, 'Rarely'], [3, 'Sometimes'], [4, 'Often'] ], # widget=widgets.RadioSelect, label="How frequently would you say you gamble?" ) ### SELF-REPORTED RISK ### risky = models.IntegerField( choices=[ [0, '0'], [1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, '8'], [9, '9'], [10, '10'] ], label='', widget=widgets.RadioSelectHorizontal ) ### GENDER ### gender = models.IntegerField( choices=[ [1, 'female'], [2, 'male'], [3, 'nonbinary'], [4, 'other'] ], # widget=widgets.RadioSelect, label='What is your gender?' ) ### GENDER IF SELECTED 'OTHER' ### gender_other = models.StringField( blank=True, label='If you would like to further specify your gender here, you may:' ) ### RACE/ETHNICITY ### race_1 = models.IntegerField( choices=[ [1, 'No, not of Hispanic, Latino, or Spanish origin'], [2, 'Yes, Mexican, Mexican American, Chicano'], [3, 'Yes, Puerto Rican'], [4, 'Yes, Cuban'], [5, 'Yes, another Hispanic, Latino, or Spanish origin'] ], widget=widgets.RadioSelect, label='Are you of Hispanic, Latino, or Spanish origin?' ) race_1_other = models.StringField( label='If you selected the last option for the question above, please type, for example, Salvadorian, Dominican, Colombian, Guatamalan, Spaniard, Ecuadorian, etc.' ) race_white = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='White' ) race_black = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Black or African American' ) race_american_indian = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='American Indian or Alaska Native' ) race_chinese = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Chinese' ) race_vietnamese = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Vietnamese' ) race_nh = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Native Hawaiian' ) race_filip = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Filipino' ) race_korean = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Korean' ) race_samoan = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Samoan' ) race_asian_indian = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Asian Indian' ) race_japanese = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Japanese' ) race_chamorro = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Chamorro' ) race_other_asian = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Other Asian' ) race_other_pacific_islander = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Other Pacific Islander' ) race_other_race = models.BooleanField( initial=False, blank=True, widget=widgets.CheckboxInput, label='Some other race' ) ### OPTIMISM/PESSIMISM SCORE ### opt_pes = models.IntegerField( initial=99 ) ### SELL PRICE ### sell_01 = models.IntegerField() sell_02 = models.IntegerField() sell_03 = models.IntegerField() sell_04 = models.IntegerField() sell_05 = models.IntegerField() sell_06 = models.IntegerField() sell_07 = models.IntegerField() sell_08 = models.IntegerField() sell_09 = models.IntegerField() sell_10 = models.IntegerField() drand1 = models.IntegerField() drand2 = models.IntegerField() drand3 = models.IntegerField() drand4 = models.IntegerField() drand5 = models.IntegerField() drand6 = models.IntegerField() drand7 = models.IntegerField() drand8 = models.IntegerField() drand9 = models.IntegerField() d1i = models.IntegerField() d2i = models.IntegerField() d3i = models.IntegerField() d4i = models.IntegerField() d5i = models.IntegerField() d6i = models.IntegerField() d7i = models.IntegerField() d8i = models.IntegerField() d9i = models.IntegerField() #test_2 = models.IntegerField() ### PAYOFF FOR EXPECTATIONS PORTION FOR ROUNDS WITH EXPECTATIONS ### exp_1_payoff = models.IntegerField() exp_2_payoff = models.IntegerField() exp_3_payoff = models.IntegerField() exp_4_payoff = models.IntegerField() exp_5_payoff = models.IntegerField() ### IS EXPECTATION OR INVESTMENT DECISION USED FOR PAYMENT ### inv_or_exp_1 = models.IntegerField() inv_or_exp_2 = models.IntegerField() inv_or_exp_3 = models.IntegerField() inv_or_exp_4 = models.IntegerField() inv_or_exp_5 = models.IntegerField() ## SUBJECTS ARE TOLD WHICH WAS CHOSEN FOR PAYMENT IN THE LAST HALF OF THE ROUNDS ie_1_label = models.StringField() ie_2_label = models.StringField() ie_3_label = models.StringField() ie_4_label = models.StringField() ie_5_label = models.StringField() #def results_computation(self): # #players = self.get_players() # #for p in players: # if self.inv_dec_01 == 0: # self.round_earnings = self.price10_dec # elif self.inv_dec_01 == 1: # self.round_earnings = self.price11_dec ### PROCESS TYPES ### direction_process_01 = models.IntegerField() direction_process_02 = models.IntegerField() direction_process_03 = models.IntegerField() direction_process_04 = models.IntegerField() direction_process_05 = models.IntegerField() direction_process_06 = models.IntegerField() direction_process_07 = models.IntegerField() direction_process_08 = models.IntegerField() direction_process_09 = models.IntegerField() direction_process_10 = models.IntegerField() magnitude_process_01 = models.IntegerField() magnitude_process_02 = models.IntegerField() magnitude_process_03 = models.IntegerField() magnitude_process_04 = models.IntegerField() magnitude_process_05 = models.IntegerField() magnitude_process_06 = models.IntegerField() magnitude_process_07 = models.IntegerField() magnitude_process_08 = models.IntegerField() magnitude_process_09 = models.IntegerField() magnitude_process_10 = models.IntegerField() ### FIRST PRICES ### price_01_01_i = models.IntegerField() price_01_02_i = models.IntegerField() price_01_03_i = models.IntegerField() price_01_04_i = models.IntegerField() price_01_05_i = models.IntegerField() price_01_06_i = models.IntegerField() price_01_07_i = models.IntegerField() price_01_08_i = models.IntegerField() price_01_09_i = models.IntegerField() price_01_10_i = models.IntegerField() price_01_01_d = models.IntegerField() price_01_02_d = models.IntegerField() price_01_03_d = models.IntegerField() price_01_04_d = models.IntegerField() price_01_05_d = models.IntegerField() price_01_06_d = models.IntegerField() price_01_07_d = models.IntegerField() price_01_08_d = models.IntegerField() price_01_09_d = models.IntegerField() price_01_10_d = models.IntegerField() ### REST OF THE PRICES FOR INFO SEQUENCES ### price_02_01_i = models.IntegerField() price_03_01_i = models.IntegerField() price_04_01_i = models.IntegerField() price_05_01_i = models.IntegerField() price_06_01_i = models.IntegerField() price_07_01_i = models.IntegerField() price_08_01_i = models.IntegerField() price_09_01_i = models.IntegerField() price_10_01_i = models.IntegerField() price_02_02_i = models.IntegerField() price_03_02_i = models.IntegerField() price_04_02_i = models.IntegerField() price_05_02_i = models.IntegerField() price_06_02_i = models.IntegerField() price_07_02_i = models.IntegerField() price_08_02_i = models.IntegerField() price_09_02_i = models.IntegerField() price_10_02_i = models.IntegerField() price_02_03_i = models.IntegerField() price_03_03_i = models.IntegerField() price_04_03_i = models.IntegerField() price_05_03_i = models.IntegerField() price_06_03_i = models.IntegerField() price_07_03_i = models.IntegerField() price_08_03_i = models.IntegerField() price_09_03_i = models.IntegerField() price_10_03_i = models.IntegerField() price_02_04_i = models.IntegerField() price_03_04_i = models.IntegerField() price_04_04_i = models.IntegerField() price_05_04_i = models.IntegerField() price_06_04_i = models.IntegerField() price_07_04_i = models.IntegerField() price_08_04_i = models.IntegerField() price_09_04_i = models.IntegerField() price_10_04_i = models.IntegerField() price_02_05_i = models.IntegerField() price_03_05_i = models.IntegerField() price_04_05_i = models.IntegerField() price_05_05_i = models.IntegerField() price_06_05_i = models.IntegerField() price_07_05_i = models.IntegerField() price_08_05_i = models.IntegerField() price_09_05_i = models.IntegerField() price_10_05_i = models.IntegerField() price_02_06_i = models.IntegerField() price_03_06_i = models.IntegerField() price_04_06_i = models.IntegerField() price_05_06_i = models.IntegerField() price_06_06_i = models.IntegerField() price_07_06_i = models.IntegerField() price_08_06_i = models.IntegerField() price_09_06_i = models.IntegerField() price_10_06_i = models.IntegerField() price_02_07_i = models.IntegerField() price_03_07_i = models.IntegerField() price_04_07_i = models.IntegerField() price_05_07_i = models.IntegerField() price_06_07_i = models.IntegerField() price_07_07_i = models.IntegerField() price_08_07_i = models.IntegerField() price_09_07_i = models.IntegerField() price_10_07_i = models.IntegerField() price_02_08_i = models.IntegerField() price_03_08_i = models.IntegerField() price_04_08_i = models.IntegerField() price_05_08_i = models.IntegerField() price_06_08_i = models.IntegerField() price_07_08_i = models.IntegerField() price_08_08_i = models.IntegerField() price_09_08_i = models.IntegerField() price_10_08_i = models.IntegerField() price_02_09_i = models.IntegerField() price_03_09_i = models.IntegerField() price_04_09_i = models.IntegerField() price_05_09_i = models.IntegerField() price_06_09_i = models.IntegerField() price_07_09_i = models.IntegerField() price_08_09_i = models.IntegerField() price_09_09_i = models.IntegerField() price_10_09_i = models.IntegerField() price_02_10_i = models.IntegerField() price_03_10_i = models.IntegerField() price_04_10_i = models.IntegerField() price_05_10_i = models.IntegerField() price_06_10_i = models.IntegerField() price_07_10_i = models.IntegerField() price_08_10_i = models.IntegerField() price_09_10_i = models.IntegerField() price_10_10_i = models.IntegerField() ### REST OF THE PRICES FOR DECISION SEQUENCES ### price_02_01_d = models.IntegerField() price_03_01_d = models.IntegerField() price_04_01_d = models.IntegerField() price_05_01_d = models.IntegerField() price_06_01_d = models.IntegerField() price_07_01_d = models.IntegerField() price_08_01_d = models.IntegerField() price_09_01_d = models.IntegerField() price_10_01_d = models.IntegerField() price_11_01_d = models.IntegerField() price_02_02_d = models.IntegerField() price_03_02_d = models.IntegerField() price_04_02_d = models.IntegerField() price_05_02_d = models.IntegerField() price_06_02_d = models.IntegerField() price_07_02_d = models.IntegerField() price_08_02_d = models.IntegerField() price_09_02_d = models.IntegerField() price_10_02_d = models.IntegerField() price_11_02_d = models.IntegerField() price_02_03_d = models.IntegerField() price_03_03_d = models.IntegerField() price_04_03_d = models.IntegerField() price_05_03_d = models.IntegerField() price_06_03_d = models.IntegerField() price_07_03_d = models.IntegerField() price_08_03_d = models.IntegerField() price_09_03_d = models.IntegerField() price_10_03_d = models.IntegerField() price_11_03_d = models.IntegerField() price_02_04_d = models.IntegerField() price_03_04_d = models.IntegerField() price_04_04_d = models.IntegerField() price_05_04_d = models.IntegerField() price_06_04_d = models.IntegerField() price_07_04_d = models.IntegerField() price_08_04_d = models.IntegerField() price_09_04_d = models.IntegerField() price_10_04_d = models.IntegerField() price_11_04_d = models.IntegerField() price_02_05_d = models.IntegerField() price_03_05_d = models.IntegerField() price_04_05_d = models.IntegerField() price_05_05_d = models.IntegerField() price_06_05_d = models.IntegerField() price_07_05_d = models.IntegerField() price_08_05_d = models.IntegerField() price_09_05_d = models.IntegerField() price_10_05_d = models.IntegerField() price_11_05_d = models.IntegerField() price_02_06_d = models.IntegerField() price_03_06_d = models.IntegerField() price_04_06_d = models.IntegerField() price_05_06_d = models.IntegerField() price_06_06_d = models.IntegerField() price_07_06_d = models.IntegerField() price_08_06_d = models.IntegerField() price_09_06_d = models.IntegerField() price_10_06_d = models.IntegerField() price_11_06_d = models.IntegerField() price_02_07_d = models.IntegerField() price_03_07_d = models.IntegerField() price_04_07_d = models.IntegerField() price_05_07_d = models.IntegerField() price_06_07_d = models.IntegerField() price_07_07_d = models.IntegerField() price_08_07_d = models.IntegerField() price_09_07_d = models.IntegerField() price_10_07_d = models.IntegerField() price_11_07_d = models.IntegerField() price_02_08_d = models.IntegerField() price_03_08_d = models.IntegerField() price_04_08_d = models.IntegerField() price_05_08_d = models.IntegerField() price_06_08_d = models.IntegerField() price_07_08_d = models.IntegerField() price_08_08_d = models.IntegerField() price_09_08_d = models.IntegerField() price_10_08_d = models.IntegerField() price_11_08_d = models.IntegerField() price_02_09_d = models.IntegerField() price_03_09_d = models.IntegerField() price_04_09_d = models.IntegerField() price_05_09_d = models.IntegerField() price_06_09_d = models.IntegerField() price_07_09_d = models.IntegerField() price_08_09_d = models.IntegerField() price_09_09_d = models.IntegerField() price_10_09_d = models.IntegerField() price_11_09_d = models.IntegerField() price_02_10_d = models.IntegerField() price_03_10_d = models.IntegerField() price_04_10_d = models.IntegerField() price_05_10_d = models.IntegerField() price_06_10_d = models.IntegerField() price_07_10_d = models.IntegerField() price_08_10_d = models.IntegerField() price_09_10_d = models.IntegerField() price_10_10_d = models.IntegerField() price_11_10_d = models.IntegerField() ### TOTAL EXPERIMENT EARNINGS ### experiment_earnings = models.IntegerField() ### PERSONALITY SCORES ### ### PERSONALITY SUMS ### # extra_total = models.IntegerField() #open_total = models.IntegerField() #agree_total = models.IntegerField() #con_total = models.IntegerField() #neuro_total = models.IntegerField() ### PERSONALITY QUESTIONS ### pers_01_e_1 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is talkative." ) pers_02_a_1 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who tends to find fault with others." ) pers_03_c_1 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who does a thorough job." ) pers_04_n_1 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is depressed, blue." ) pers_05_o_2 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is original, comes up with new ideas." ) pers_06_e_2 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is reserved." ) pers_07_a_2 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is helpful and unselfish with others." ) pers_08_c_2 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who can be somewhat careless." ) pers_09_n_3 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is relaxed, handles stress well." ) pers_10_o_3 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is curious about many different things." ) pers_11_e_3 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is full of energy." ) pers_12_a_3 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who starts quarrels with others." ) pers_13_c_4 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is a reliable worker." ) pers_14_n_4 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who can be tense." ) pers_15_o_4 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is ingenious, a deep thinker." ) pers_16_e_4 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who generates a lot of enthusiasm." ) pers_17_a_5 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who has a forgiving nature." ) pers_18_c_5 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who tends to be disorganized." ) pers_19_n_5 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who worries a lot." ) pers_20_o_5 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who has an active imagination." ) pers_21_e_6 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who tends to be quiet." ) pers_22_a_6 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is generally trusting." ) pers_23_c_6 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who tends to be lazy." ) pers_24_n_6 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is emotionally stable, not easily upset." ) pers_25_o_7 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is inventive." ) pers_26_e_7 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who has an assertive personality." ) pers_27_a_7 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who can be cold and aloof." ) pers_28_c_7 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who perseveres until the task is finished." ) pers_29_n_8 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who can be moody." ) pers_30_o_8 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who values artistic, aesthetic experiences." ) pers_31_e_8 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is sometimes shy, inhibited." ) pers_32_a_8 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is considerate and kind to almost everyone." ) pers_33_c_9 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who does things efficiently." ) pers_34_n_9 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who remains calm in tense situations." ) pers_35_o_9 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who prefers work that is routine." ) pers_36_e_9 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is outgoing, sociable." ) pers_37_a_10 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is sometimes rude to others." ) pers_38_c_10 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who makes plans and follows through with them." ) pers_39_n_10 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who gets nervous easily." ) pers_40_o_10 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who likes to reflect, play with ideas." ) pers_41_o_11 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who has few artistic interests." ) pers_42_a_11 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who likes to cooperate with others." ) pers_43_c_11 = models.IntegerField( initial=99, choices=[ [5, 'Disagree strongly'], [4, 'Disagree a little'], [3, 'Neither agree nor disagree'], [2, 'Agree a little'], [1, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is easily distracted." ) pers_44_o_11 = models.IntegerField( initial=99, choices=[ [1, 'Disagree strongly'], [2, 'Disagree a little'], [3, 'Neither agree nor disagree'], [4, 'Agree a little'], [5, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I see myself as someone who is sophisticated in art, music, or litrature." ) ### OPTIMISM/PESSIMISM QUESTIONS ### lotr_01 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="In uncertain times, I usually expect the best." ) lotr_02 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="It's easy for me to relax." ) lotr_03 = models.IntegerField( initial=99, choices=[ [4, 'Disagree strongly'], [3, 'Disagree a little'], [2, 'Neither agree nor disagree'], [1, 'Agree a little'], [0, 'Agree strongly'] ], widget=widgets.RadioSelect, label="If something can go wrong for me, it will." ) lotr_04 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I'm always optimistic about my future." ) lotr_05 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I enjoy my friends a lot." ) lotr_06 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="It's important for me to keep busy." ) lotr_07 = models.IntegerField( initial=99, choices=[ [4, 'Disagree strongly'], [3, 'Disagree a little'], [2, 'Neither agree nor disagree'], [1, 'Agree a little'], [0, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I hardly ever expect things to go my way." ) lotr_08 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I don't get upset too easily." ) lotr_09 = models.IntegerField( initial=99, choices=[ [4, 'Disagree strongly'], [3, 'Disagree a little'], [2, 'Neither agree nor disagree'], [1, 'Agree a little'], [0, 'Agree strongly'] ], widget=widgets.RadioSelect, label="I rarely count on good things happening to me." ) lotr_10 = models.IntegerField( initial=99, choices=[ [0, 'Disagree strongly'], [1, 'Disagree a little'], [2, 'Neither agree nor disagree'], [3, 'Agree a little'], [4, 'Agree strongly'] ], widget=widgets.RadioSelect, label="Overall, I expect more good things to happen to me than bad." ) price10_dec = models.IntegerField() price11_dec = models.IntegerField() d1 = models.IntegerField() d2 = models.IntegerField() d3 = models.IntegerField() d4 = models.IntegerField() d5 = models.IntegerField() d6 = models.IntegerField() d7 = models.IntegerField() d8 = models.IntegerField() d9 = models.IntegerField() d10 = models.IntegerField() d1_dec = models.IntegerField() d2_dec = models.IntegerField() d3_dec = models.IntegerField() d4_dec = models.IntegerField() d5_dec = models.IntegerField() d6_dec = models.IntegerField() d7_dec = models.IntegerField() d8_dec = models.IntegerField() d9_dec = models.IntegerField() d10_dec = models.IntegerField() d11_dec = models.IntegerField() m1 = models.IntegerField() m2 = models.IntegerField() m3 = models.IntegerField() m4 = models.IntegerField() m5 = models.IntegerField() m6 = models.IntegerField() m7 = models.IntegerField() m8 = models.IntegerField() m9 = models.IntegerField() m10 = models.IntegerField() m1_dec = models.IntegerField() m2_dec = models.IntegerField() m3_dec = models.IntegerField() m4_dec = models.IntegerField() m5_dec = models.IntegerField() m6_dec = models.IntegerField() m7_dec = models.IntegerField() m8_dec = models.IntegerField() m9_dec = models.IntegerField() m10_dec = models.IntegerField() m11_dec = models.IntegerField() price1 = models.IntegerField() price2 = models.IntegerField() price3 = models.IntegerField() price4 = models.IntegerField() price5 = models.IntegerField() price6 = models.IntegerField() price7 = models.IntegerField() price8 = models.IntegerField() price9 = models.IntegerField() price10 = models.IntegerField() price11 = models.IntegerField() price1_dec = models.IntegerField() price2_dec = models.IntegerField() price3_dec = models.IntegerField() price4_dec = models.IntegerField() price5_dec = models.IntegerField() price6_dec = models.IntegerField() price7_dec = models.IntegerField() price8_dec = models.IntegerField() price9_dec = models.IntegerField() priceexp_01_01 = models.IntegerField() priceexp_01_02 = models.IntegerField() priceexp_01_03 = models.IntegerField() priceexp_01_04 = models.IntegerField() priceexp_01_05 = models.IntegerField() priceexp_01_06 = models.IntegerField()