#!/usr/bin/env python # -*- coding: utf-8 -*- import sys #reload (sys) #sys.setdefaultencoding("utf-8") from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) author = 'Daniel Garavito' doc = """ Tratamiento competencia con otros, suma de números """ import random class Constants(BaseConstants): name_in_url = 'othercompetition_anagrama' players_per_group = 4 num_rounds = 1 participation_fee = c(2000) piece_rate = c(500) challenge_piece_rate = 4 * piece_rate CompCoop_piece_rate = 6 * piece_rate belief_ranking_bonus = c(500) additional_to_win = 1 # how many more problems to solve to win challenge practice_minutes = 1.5 practice_seconds = int(60 * practice_minutes) round_minutes = 3 round_seconds = 60 * round_minutes Random_Diff1 = 1 Random_Diff2 = 4 P1_A_1 = 52000 P1_A_2 = 16000 P1_A_3 = 18000 P1_B_1 = 36000 P1_B_2 = 24000 P1_C_1 = 44000 P1_C_2 = 20000 P1_D_1 = 52000 P1_D_2 = 16000 P1_E_1 = 60000 P1_E_2 = 12000 P1_F_1 = 70000 P1_F_2 = 2000 historical_mean_num_solved = 10 # taken from Niederle, Vesterlund (2007) and Bohnet, van Geen, Bazerman (2016) max_allowed_num_belief = 1 * round_minutes # to cap the risky payoff certain_payoff_risk = historical_mean_num_solved * piece_rate risky_payoff_risk = (historical_mean_num_solved + additional_to_win) * challenge_piece_rate # anagrams solved from http://www.sensagent.com/en/anagrams-dictionary/ example_baseword = 'artimo' practice_baseword = 'tosnie' practice_anag1 = 'nietos' practice_anag2 = 'notéis' practice_anag3 = 'siento' practice_anag4 = 'estío' practice_anag5 = 'inste' practice_anag6 = 'insté' practice_anag7 = 'insto' practice_anag8 = 'instó' practice_anag9 = 'iones' practice_anag10 = 'netos' practice_anag11 = 'nieto' practice_anag12 = 'notes' practice_anag13 = 'oíste' practice_anag14 = 'sentí' practice_anag15 = 'sentó' practice_anag16 = 'tenis' practice_anag17 = 'tenso' practice_anag18 = 'tensó' practice_anag19 = 'tesón' practice_anag20 = 'tieso' practice_anag21 = 'toéis' practice_anag22 = 'tosen' practice_anag23 = 'esto' practice_anag24 = 'neto' practice_anag25 = 'note' practice_anag26 = 'noté' practice_anag27 = 'osen' practice_anag28 = 'seno' practice_anag29 = 'seto' practice_anag30 = 'sien' practice_anag31 = 'sino' practice_anag32 = 'soné' practice_anag33 = 'teso' practice_anag34 = 'tesó' practice_anag35 = 'tino' practice_anag36 = 'tíos' practice_anag37 = 'toen' practice_anag38 = 'toes' practice_anag39 = 'tose' practice_anag40 = 'tosí' P1_baseword = 'masaro' P1_anag1 = 'aramos' P1_anag2 = 'aromas' P1_anag3 = 'asomar' P1_anag4 = 'amaro' P1_anag5 = 'amaró' P1_anag6 = 'amaso' P1_anag7 = 'amasó' P1_anag8 = 'araos' P1_anag9 = 'armas' P1_anag10 = 'aroma' P1_anag11 = 'asoma' P1_anag12 = 'masar' P1_anag13 = 'moras' P1_anag14 = 'morsa' P1_anag15 = 'osara' P1_anag16 = 'osará' P1_anag17 = 'ramas' P1_anag18 = 'ramos' P1_anag19 = 'romas' P1_anag20 = 'samoa' P1_anag21 = 'sarao' P1_anag22 = 'amar' P1_anag23 = 'amas' P1_anag24 = 'amor' P1_anag25 = 'amos' P1_anag26 = 'arao' P1_anag27 = 'aras' P1_anag28 = 'arma' P1_anag29 = 'armo' P1_anag30 = 'armó' P1_anag31 = 'aros' P1_anag32 = 'asar' P1_anag33 = 'asma' P1_anag34 = 'masa' P1_anag35 = 'maso' P1_anag36 = 'masó' P1_anag37 = 'mora' P1_anag38 = 'móra' P1_anag39 = 'oras' P1_anag40 = 'osar' P1_anag41 = 'rama' P1_anag42 = 'ramo' P1_anag43 = 'rasa' P1_anag44 = 'raso' P1_anag45 = 'rasó' P1_anag46 = 'roas' P1_anag47 = 'roma' P1_anag48 = 'rosa' P1_anag49 = 'soma' P2_baseword = 'ratoba' P2_anag1 = 'aborta' P2_anag2 = 'barato' P2_anag3 = 'botara' P2_anag4 = 'botará' P2_anag5 = 'rotaba' P2_anag6 = 'abato' P2_anag7 = 'aorta' P2_anag8 = 'atoar' P2_anag9 = 'atora' P2_anag10 = 'botar' P2_anag11 = 'brota' P2_anag12 = 'oraba' P2_anag13 = 'toaba' P2_anag14 = 'toara' P2_anag15 = 'toará' P2_anag16 = 'traba' P2_anag17 = 'trabo' P2_anag18 = 'trabó' P2_anag19 = 'abra' P2_anag20 = 'abro' P2_anag21 = 'arao' P2_anag22 = 'atar' P2_anag23 = 'atoa' P2_anag24 = 'bata' P2_anag25 = 'bato' P2_anag26 = 'bota' P2_anag27 = 'obra' P2_anag28 = 'otra' P2_anag29 = 'rabo' P2_anag30 = 'rata' P2_anag31 = 'rato' P2_anag32 = 'roba' P2_anag33 = 'rota' P2_anag34 = 'taba' P2_anag35 = 'tara' P2_anag36 = 'taro' P2_anag37 = 'taró' P2_anag38 = 'toar' P2_anag39 = 'toba' P2_anag40 = 'tora' P2_anag41 = 'rama' round1_baseword = 'etroca' round1_anag1 = 'acertó' round1_anag2 = 'acorte' round1_anag3 = 'acorté' round1_anag4 = 'carteo' round1_anag5 = 'carteó' round1_anag6 = 'cerato' round1_anag7 = 'coarte' round1_anag8 = 'coarté' round1_anag9 = 'cotare' round1_anag10 = 'cotaré' round1_anag11 = 'recato' round1_anag12 = 'recató' round1_anag13 = 'retaco' round1_anag14 = 'retacó' round1_anag15 = 'retoca' round1_anag16 = 'tareco' round1_anag17 = 'tocare' round1_anag18 = 'tocaré' round1_anag19 = 'trocea' round1_anag20 = 'acero' round1_anag21 = 'aceró' round1_anag22 = 'acore' round1_anag23 = 'acoré' round1_anag24 = 'acote' round1_anag25 = 'acoté' round1_anag26 = 'actor' round1_anag27 = 'atero' round1_anag28 = 'atore' round1_anag29 = 'atoré' round1_anag30 = 'careo' round1_anag31 = 'careó' round1_anag32 = 'cateo' round1_anag33 = 'cateó' round1_anag34 = 'catre' round1_anag35 = 'cetro' round1_anag36 = 'corea' round1_anag37 = 'corta' round1_anag38 = 'corte' round1_anag39 = 'corté' round1_anag40 = 'cotar' round1_anag41 = 'creta' round1_anag42 = 'otear' round1_anag43 = 'rateo' round1_anag44 = 'rateó' round1_anag45 = 'reato' round1_anag46 = 'reató' round1_anag47 = 'recta' round1_anag48 = 'recto' round1_anag49 = 'rectó' round1_anag50 = 'terca' round1_anag51 = 'terco' round1_anag52 = 'toare' round1_anag53 = 'toaré' round1_anag54 = 'tocar' round1_anag55 = 'torea' round1_anag56 = 'trace' round1_anag57 = 'tracé' round1_anag58 = 'troce' round1_anag59 = 'trocé' round1_anag60 = 'acre' round1_anag61 = 'acto' round1_anag62 = 'arce' round1_anag63 = 'arco' round1_anag64 = 'arcó' round1_anag65 = 'arte' round1_anag66 = 'ateo' round1_anag67 = 'atoe' round1_anag68 = 'atoé' round1_anag69 = 'caer' round1_anag70 = 'caro' round1_anag71 = 'cate' round1_anag72 = 'caté' round1_anag73 = 'cato' round1_anag74 = 'cató' round1_anag75 = 'cera' round1_anag76 = 'cero' round1_anag77 = 'ceta' round1_anag78 = 'cota' round1_anag79 = 'cote' round1_anag80 = 'coté' round1_anag81 = 'crea' round1_anag82 = 'creo' round1_anag83 = 'creó' round1_anag84 = 'croa' round1_anag85 = 'croe' round1_anag86 = 'croé' round1_anag87 = 'ocre' round1_anag88 = 'orca' round1_anag89 = 'orce' round1_anag90 = 'orcé' round1_anag91 = 'orea' round1_anag92 = 'otea' round1_anag93 = 'otra' round1_anag94 = 'rato' round1_anag95 = 'reta' round1_anag96 = 'reto' round1_anag97 = 'retó' round1_anag98 = 'roca' round1_anag99 = 'roce' round1_anag100 = 'rocé' round1_anag101 = 'rota' round1_anag102 = 'rote' round1_anag103 = 'roté' round1_anag104 = 'tace' round1_anag105 = 'tacé' round1_anag106 = 'taco' round1_anag107 = 'tacó' round1_anag108 = 'tare' round1_anag109 = 'taré' round1_anag110 = 'taro' round1_anag111 = 'taró' round1_anag112 = 'teca' round1_anag113 = 'toar' round1_anag114 = 'toca' round1_anag115 = 'toce' round1_anag116 = 'tocé' round1_anag117 = 'tora' round1_anag118 = 'trae' round2_baseword = 'oasnem' round2_anag1 = 'amenos' round2_anag2 = 'asomen' round2_anag3 = 'moneas' round2_anag4 = 'ameno' round2_anag5 = 'asneo' round2_anag6 = 'asneó' round2_anag7 = 'asome' round2_anag8 = 'asomé' round2_anag9 = 'asoné' round2_anag10 = 'emano' round2_anag11 = 'emanó' round2_anag12 = 'maneo' round2_anag13 = 'maneó' round2_anag14 = 'manos' round2_anag15 = 'manso' round2_anag16 = 'masen' round2_anag17 = 'masón' round2_anag18 = 'menas' round2_anag19 = 'menos' round2_anag20 = 'mesan' round2_anag21 = 'mesón' round2_anag22 = 'monas' round2_anag23 = 'monea' round2_anag24 = 'osean' round2_anag25 = 'saneo' round2_anag26 = 'saneó' round2_anag27 = 'amén' round2_anag28 = 'amen' round2_anag29 = 'ames' round2_anag30 = 'amos' round2_anag31 = 'aneo' round2_anag32 = 'aneó' round2_anag33 = 'anos' round2_anag34 = 'asen' round2_anag35 = 'aseo' round2_anag36 = 'aseó' round2_anag37 = 'asno' round2_anag38 = 'mane' round2_anag39 = 'mano' round2_anag40 = 'manó' round2_anag41 = 'mase' round2_anag42 = 'masé' round2_anag43 = 'maso' round2_anag44 = 'masó' round2_anag45 = 'mean' round2_anag46 = 'mena' round2_anag47 = 'meno' round2_anag48 = 'menó' round2_anag49 = 'meón' round2_anag50 = 'mesa' round2_anag51 = 'meso' round2_anag52 = 'mesó' round2_anag53 = 'mona' round2_anag54 = 'noma' round2_anag55 = 'osan' round2_anag56 = 'osea' round2_anag57 = 'osen' round2_anag58 = 'sane' round2_anag59 = 'sané' round2_anag60 = 'sano' round2_anag61 = 'sanó' round2_anag62 = 'sean' round2_anag63 = 'seno' round2_anag64 = 'soma' round2_anag65 = 'soné' round3_baseword = 'lesami' round3_anag1 = 'laméis' round3_anag2 = 'laminé' round3_anag3 = 'limase' round3_anag4 = 'melais' round3_anag5 = 'mielas' round3_anag6 = 'aislé' round3_anag7 = 'aísle' round3_anag8 = 'almes' round3_anag9 = 'alíes' round3_anag10 = 'alise' round3_anag11 = 'alisé' round3_anag12 = 'améis' round3_anag13 = 'asile' round3_anag14 = 'asilé' round3_anag15 = 'ilesa' round3_anag16 = 'islam' round3_anag17 = 'lames' round3_anag18 = 'leáis' round3_anag19 = 'lemas' round3_anag20 = 'líase' round3_anag21 = 'limas' round3_anag22 = 'limes' round3_anag23 = 'males' round3_anag24 = 'meáis' round3_anag25 = 'miase' round3_anag26 = 'miela' round3_anag27 = 'misal' round3_anag28 = 'salme' round3_anag29 = 'salmé' round3_anag30 = 'alíe' round3_anag31 = 'alié' round3_anag32 = 'ames' round3_anag33 = 'isla' round3_anag34 = 'lame' round3_anag35 = 'lamé' round3_anag36 = 'lamí' round3_anag37 = 'leas' round3_anag38 = 'leía' round3_anag39 = 'lema' round3_anag40 = 'lías' round3_anag41 = 'líes' round3_anag42 = 'lima' round3_anag43 = 'lime' round3_anag44 = 'limé' round3_anag45 = 'lisa' round3_anag46 = 'mali' round3_anag47 = 'mase' round3_anag48 = 'masé' round3_anag49 = 'meas' round3_anag50 = 'mesa' round3_anag51 = 'mías' round3_anag52 = 'miel' round3_anag53 = 'mies' round3_anag54 = 'míes' round3_anag55 = 'misa' round3_anag56 = 'misé' round3_anag57 = 'mise' round3_anag58 = 'sale' round3_anag59 = 'salé' round3_anag60 = 'sali' round3_anag61 = 'sali' round3_anag62 = 'semi' round3_anag63 = 'siam' round3_anag64 = 'sima' round4_baseword = 'madilo' round4_anag1 = 'lamido' round4_anag2 = 'limado' round4_anag3 = 'dolía' round4_anag4 = 'lamió' round4_anag5 = 'liado' round4_anag6 = 'limad' round4_anag7 = 'lomad' round4_anag8 = 'miado' round4_anag9 = 'modal' round4_anag10 = 'modal' round4_anag11 = 'molad' round4_anag12 = 'molda' round4_anag13 = 'molía' round4_anag14 = 'adió' round4_anag15 = 'adío' round4_anag16 = 'alió' round4_anag17 = 'alío' round4_anag18 = 'dial' round4_anag19 = 'dima' round4_anag20 = 'dimo' round4_anag21 = 'dolí' round4_anag22 = 'doma' round4_anag23 = 'lado' round4_anag24 = 'lamí' round4_anag25 = 'lamo' round4_anag26 = 'liad' round4_anag27 = 'lima' round4_anag28 = 'limo' round4_anag29 = 'limó' round4_anag30 = 'load' round4_anag31 = 'dalo' round4_anag32 = 'loma' round4_anag33 = 'mali' round4_anag34 = 'malo' round4_anag35 = 'miad' round4_anag36 = 'mida' round4_anag37 = 'mido' round4_anag38 = 'moda' round4_anag39 = 'mola' round4_anag40 = 'molí' round4_anag41 = 'odia' round4_anag42 = 'olía' class Subsession(BaseSubsession): def group_by_arrival_time_method(subsession, waiting_players): print('in group_by_arrival_time_method') m_players = [p for p in waiting_players if p.participant.Genero == 'Masculino'] f_players = [p for p in waiting_players if p.participant.Genero == 'Femenino'] if len(m_players) >= 2 and len(f_players) >= 2: print('about to create a group') return [m_players[0], m_players[1], f_players[0], f_players[1]] print('not enough players yet to create a group') class Group(BaseGroup): def set_avatar(self): for p in self.get_players(): if p.id_in_group == 1 or p.id_in_group == 3: p.Avatar_choice = "Avatar 1" else: p.Avatar_choice = "Avatar 2" def set_coopcomp_avatar2(self): for p in self.get_players(): if p.id_in_group < (len(self.get_players()) - 1): p.jugador_equipo_avatar2 = self.get_player_by_id(p.id_in_group + 2).Avatar_choice else: p.jugador_equipo_avatar2 = self.get_player_by_id(p.id_in_group - 2).Avatar_choice def set_coopcomp_avatar3(self): for p in self.get_players(): if p.id_in_group < (len(self.get_players()) - 2): p.jugador_equipo_avatar3 = self.get_player_by_id(p.id_in_group + 3).Avatar_choice else: p.jugador_equipo_avatar3 = self.get_player_by_id(p.id_in_group - 1).Avatar_choice def set_coopcomp_avatar(self): for p in self.get_players(): if p.id_in_group < len(self.get_players()): p.jugador_equipo_avatar = self.get_player_by_id(p.id_in_group + 1).Avatar_choice else: p.jugador_equipo_avatar = self.get_player_by_id(1).Avatar_choice def set_ranking(self): for p in self.get_players(): for q in p.get_others_in_group(): if p.num_correct_round1 < q.num_correct_round1: p.ranking2 += 1 def set_rankingTournament(self): for p in self.get_players(): for q in p.get_others_in_group(): if p.num_correct_round2 < q.num_correct_round2: p.ranking += 1 def set_tournament_payoff(self): for p in self.get_players(): if p.ranking == 1: p.earnings_round2 = p.num_correct_round2 * Constants.challenge_piece_rate else: p.earnings_round2 = 0 def set_rankingChoice(self): for p in self.get_players(): for q in p.get_others_in_group(): if p.num_correct_round3 < q.num_correct_round2: p.rankingC += 1 def set_Choice_payoff(self): for p in self.get_players(): if p.torneo_choice == "No Participar": p.earnings_round3 = p.num_correct_round3 * Constants.piece_rate else: if p.rankingC == 1: p.earnings_round3 = p.num_correct_round3 * Constants.challenge_piece_rate else: p.earnings_round3 = 0 def set_competition_payoff(self): for p in self.get_players(): if p.pay_choice == "Opción 1": p.earnings_round5 = p.num_correct_round1 * Constants.piece_rate else: if p.ranking2 == 1: p.earnings_round5 = p.num_correct_round1 * Constants.challenge_piece_rate else: p.earnings_round5 = 0 if p.belief_ranking1 == p.ranking2: p.earnings_round5 += Constants.belief_ranking_bonus if p.belief_ranking2 == p.ranking: p.earnings_round5 += Constants.belief_ranking_bonus def set_coopcomp_player(self): for p in self.get_players(): if p.id_in_group < len(self.get_players()): p.jugador_equipo = self.get_player_by_id(p.id_in_group + 1).num_correct_round2 else: p.jugador_equipo = self.get_player_by_id(1).num_correct_round2 def set_player_team(self): for p in self.get_players(): p.equipo = p.num_correct_round4 + p.jugador_equipo def set_coopcomp_team(self): for p in self.get_players(): if p.id_in_group < (len(self.get_players()) - 2): p.otro_equipo = self.get_player_by_id(p.id_in_group + 2).num_correct_round3 + \ self.get_player_by_id(p.id_in_group + 3).num_correct_round3 elif p.id_in_group < (len(self.get_players()) - 1): p.otro_equipo = self.get_player_by_id(p.id_in_group + 2).num_correct_round3 + \ self.get_player_by_id(p.id_in_group - 1).num_correct_round3 else: p.otro_equipo = self.get_player_by_id(p.id_in_group - 2).num_correct_round3 + \ self.get_player_by_id(p.id_in_group - 1).num_correct_round3 def set_coopcomp_payoff(self): players = self.get_players() for p in players: if p.coopcomp_choice == "Opcion 1: Jugar Individual": p.earnings_round4 = p.num_correct_round4 * Constants.piece_rate else: if p.jugador_equipo + p.num_correct_round4 > p.otro_equipo: p.earnings_round4 = (p.num_correct_round4 + p.jugador_equipo) * Constants.challenge_piece_rate else: p.earnings_round4 = 0 def set_coopcomp_jugnum(self): for p in self.get_players(): if p.id_in_group < len(self.get_players()): p.jugador_equipo_num = self.get_player_by_id(p.id_in_group + 1).num_correct_round2 else: p.jugador_equipo_num = self.get_player_by_id(1).num_correct_round2 def set_payoffs(self): players = self.get_players() for p in players: p.payoff = p.earnings_total class Player(BasePlayer): Rnumber = models.IntegerField() # P1 fields: P1_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer27 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer28 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer29 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer30 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer31 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer32 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer33 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer34 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer35 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer36 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer37 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer38 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer39 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer40 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer41 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer42 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer43 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer44 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer45 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer46 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer47 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P1_answer48 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) num_correct_P1 = models.IntegerField() # P1_Choices fields: P1_Choices_A = models.StringField(label="¿Cuál es tu decisión?", choices=[["Opción 1", "Opción 1"], ["Opción 2", "Opción 2"], ["Opción 3", "Opción 3"]]) P1_decision_A = models.IntegerField() P1_Choices_B = models.StringField(label="¿Cuál es tu decisión?", choices=[["Opción 1", "Opción 1"], ["Opción 2", "Opción 2"], ["Opción 3", "Opción 3"]]) P1_decision_B = models.IntegerField() P1_Choices_C = models.StringField(label="¿Cuál es tu decisión?", choices=[["Opción 1", "Opción 1"], ["Opción 2", "Opción 2"], ["Opción 3", "Opción 3"]]) P1_decision_C = models.IntegerField() P1_Choices_D = models.StringField(label="¿Cuál es tu decisión?", choices=[["Opción 1", "Opción 1"], ["Opción 2", "Opción 2"], ["Opción 3", "Opción 3"]]) P1_decision_D = models.IntegerField() P1_Choices_E = models.StringField(label="¿Cuál es tu decisión?", choices=[["Opción 1", "Opción 1"], ["Opción 2", "Opción 2"], ["Opción 3", "Opción 3"]]) P1_decision_E = models.IntegerField() P1_Choices_F = models.StringField(label="¿Cuál es tu decisión?", choices=[["Opción 1", "Opción 1"], ["Opción 2", "Opción 2"], ["Opción 3", "Opción 3"]]) P1_decision_F = models.IntegerField() # P2 fields: P2_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer27 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer28 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer29 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer30 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer31 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer32 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer33 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer34 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer35 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer36 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer37 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer38 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer39 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer40 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer41 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer42 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer43 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer44 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer45 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer46 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer47 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) P2_answer48 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) num_correct_P2 = models.IntegerField() # Avatar fields: Avatar_choice = models.CharField() # Practice fields: practice_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer27 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer28 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer29 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer30 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer31 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer32 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer33 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer34 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer35 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer36 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer37 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer38 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer39 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer40 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer41 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer42 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer43 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer44 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer45 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer46 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer47 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) practice_answer48 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) num_correct_practice = models.IntegerField() # Round 1 fields: round1_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer27 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer28 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer29 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer30 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer31 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer32 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer33 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer34 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer35 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer36 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer37 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer38 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer39 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer40 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer41 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer42 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer43 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer44 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer45 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer46 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer47 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round1_answer48 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) num_correct_round1 = models.IntegerField() earnings_round1 = models.CurrencyField() ranking2 = models.PositiveIntegerField(initial=1) # Round 2 fields: round2_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer27 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer28 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer29 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer30 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer31 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer32 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer33 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer34 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer35 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer36 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer37 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer38 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer39 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer40 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer41 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer42 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer43 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer44 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer45 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer46 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer47 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round2_answer48 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) num_correct_round2 = models.IntegerField() earnings_round2 = models.CurrencyField() ranking = models.PositiveIntegerField(initial=1) # Round 3 fields: round3_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer27 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer28 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer29 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer30 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer31 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer32 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer33 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer34 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer35 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer36 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer37 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer38 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer39 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer40 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer41 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer42 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer43 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer44 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer45 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer46 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer47 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round3_answer48 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) torneo_choice = models.CharField( choices=['Participar', 'No Participar'], widget=widgets.RadioSelect() ) num_correct_round3 = models.IntegerField() earnings_round3 = models.CurrencyField() rankingC = models.PositiveIntegerField(initial=1) # Round 4 fields: jugador_equipo_avatar = models.CharField() jugador_equipo_avatar2 = models.CharField() jugador_equipo_avatar3 = models.CharField() jugador_equipo_num = models.IntegerField() round4_answer1 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer2 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer3 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer4 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer5 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer6 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer7 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer8 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer9 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer10 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer11 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer12 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer13 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer14 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer15 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer16 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer17 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer18 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer19 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer20 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer21 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer22 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer23 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer24 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer25 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) round4_answer26 = models.CharField(max_length=6, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) coopcomp_choice = models.CharField( choices=['Opcion 1: Jugar Individual', 'Opcion 2: Formar Equipo'], widget=widgets.RadioSelect() ) num_correct_round4 = models.IntegerField() jugador_equipo = models.IntegerField() equipo = models.IntegerField() otro_equipo = models.IntegerField() earnings_round4 = models.CurrencyField() # Round 5 fields: pay_choice = models.CharField( choices=['Opción 1', 'Opción 2'], widget=widgets.RadioSelect() ) earnings_round5 = models.CurrencyField() # Beliefs fields: expected_num_round1 = models.PositiveIntegerField() expected_num_round2 = models.PositiveIntegerField() probability_improve_round1 = models.PositiveIntegerField(min=0, max=100) probability_improve_round2 = models.PositiveIntegerField(min=0, max=100) belief_ranking1 = models.PositiveIntegerField() belief_ranking2 = models.PositiveIntegerField() risky_payoff = models.CurrencyField() reciprocal_probability_improve_round1 = models.PositiveIntegerField() reciprocal_probability_improve_round2 = models.PositiveIntegerField() # Questionnaire fields: Edad = models.StringField(label="¿Cuál es tu edad actual?", choices=[["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["23", "23"], ["24", "24"], ["25", "25"], ["26", "26"], ["27", "27"], ["28", "28"], ["29", "29"], ["30", "30"], ["31", "31"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"], ["40", "40"], ["41", "41"], ["42", "42"], ["43", "43"], ["44", "44"], ["45", "45"], ["46", "46"], ["47", "47"], ["48", "48"], ["49", "49"], ["50", "50"]]) Correo = models.CharField( label="¿Cuál es el correo electrónico en el que te podemos contactar?", max_length=100, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) ConfirmacionCorreo = models.CharField( label="Ingresa tu correo electrónico nuevamente:", max_length=100, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) Estudiante = models.StringField(label="¿Eres estudiante o aspirante a la Universidad Nacional de Colombia?", choices=[["Estudiante", "Estudiante"], ["Aspirante", "Aspirante"], ["Ninguno", "Ninguno"]]) #Genero = models.StringField(label="¿Cuál es tu género?", # choices=[["Femenino", "Femenino"], ["Masculino", "Masculino"], ["No binario", "No binario"]]) ProgramaU = models.StringField(label="¿A qué programa académico perteneces?", choices=[["Pregrado", "Pregrado"], ["Especialización", "Especialización"], ["Maestría", "Maestría"], ["Doctorado", "Doctorado"]]) Facultad = models.StringField(label="¿Cuál es/era la carrera a la que quieres/querías entrar en la Universidad Nacional? " "Si eres estudiante, por favor selecciona la carrera a la que más hubieras querido ingresar, " "independientemente de si es la carrera que estudias actualmente.", choices=[["Facultad de Artes", "Facultad de Artes"], ["Facultad de Ciencias", "Facultad de Ciencias"], ["Facultad de Ciencias Agrarias", "Facultad de Ciencias Agrarias"], ["Facultad de Ciencias Económicas", "Facultad de Ciencias Económicas"], ["Facultad de Ciencias Humanas", "Facultad de Ciencias Humanas"], ["Facultad de Derecho, Ciencias Políticas y Sociales", "Facultad de Derecho, Ciencias Políticas y Sociales"], ["Facultad de Enfermería", "Facultad de Enfermería"], ["Facultad de Ingeniería", "Facultad de Ingeniería"], ["Facultad de Medicina", "Facultad de Medicina"], ["Facultad de Medicina Veterinaria y de Zootecnia", "Facultad de Medicina Veterinaria y de Zootecnia"], ["Facultad de Odontología", "Facultad de Odontología"]]) OtraCiudad = models.CharField(label="Si en la pregunta anterior seleccionaste NO, por favor, dinos cuál es tu departamento de nacimiento.", max_length=50, blank=True,widget=widgets.TextInput(attrs={'autocomplete': 'off'})) Deporte = models.StringField(label="¿Practicas algún deporte?", choices=[["Si", "Si"], ["No", "No"]]) Bogotano = models.StringField(label="¿Eres de la ciudad de Bogotá?", choices=[["Si", "Si"], ["No", "No"]]) Deportes = models.CharField( label="Si seleccionaste SI en la pregunta anterior, por favor, cuéntanos ¿qué deporte o deportes practicas?", max_length=50, blank=True, widget=widgets.TextInput(attrs={'autocomplete': 'off'})) Trabajo = models.StringField( label="Además de estudiar ¿tienes algún trabajo? o ¿eres monitor/estudiante auxiliar de la Universidad?", choices=[["Si", "Si"], ["No", "No"]]) TipodeTrabajo = models.StringField( label="Si seleccionaste SI en la pregunta anterior ¿Que tipo de trabajo desempeñas?", blank=True, choices=[["Tiempo completo (8 horas al sía)", "Tiempo completo (8 horas al sía)"], ["Tiempo parcial (menos de 8 horas al día)", "Tiempo parcial (menos de 8 horas al día)"]]) Ingreso = models.StringField(label="¿Cual es tu fuente principal de ingresos?", choices=[ ["Familia (padres, tutores o similares)", "Familia (padres, tutores o similares)"], ["Ingreso propio (trabajo)", "Ingreso propio (trabajo)"], ["Otro", "Otro"]]) Gastos = models.StringField(label="En promedio ¿cuantos son tus gastos mensuales?", choices=[["Menos de 200.000", "Menos de 200.000"], ["Entre 200.000 y 500.000", "Entre 200.000 y 500.000"], ["Entre 500.000 y 1.000.000", "Entre 500.000 y 1.000.000"], ["Más de 1.000.000", "Más de 1.000.000"]]) DestinoIngreso = models.StringField(label="¿En que sueles gastar mayoritariamente tus ingresos?", choices=[["Alimentacion", "Alimentacion"], ["Transporte", "Transporte"], ["Fotocopias, libros, útiles, etc", "Fotocopias, libros, útiles, etc"], ["Ocio", "Ocio"]]) Familia = models.IntegerField(label="¿Cuantas personas viven contigo? Selecciona 0 si vives solo.", blank=True, initial=0) EstadoCivil = models.StringField(label="¿Cual es tu estado civil?", choices=[["Soltero(a)", "Soltero(a)"], ["Casado(a)", "Casado(a)"], ["Unión Libre", "Unión Libre"], ["Separado(a)", "Separado(a)"], ["Viudo(a)", "Viudo(a)"], ["No Aplica", "No Aplica"]]) Localidad = models.StringField(label="¿En que localidad de Bogotá vives?", choices=[["Usaquen", "Usaquen"], ["Chapinero", "Chapinero"], ["Santa Fe", "Santa Fe"], ["San Cristobal", "San Cristobal"], ["Usme", "Usme"], ["Tunjuelito", "Tunjuelito"], ["Bosa", "Bosa"], ["Kennedy", "Kennedy"], ["Fontibon", "Fontibon"], ["Engativa", "Engativa"], ["Suba", "Suba"], ["Barrios Unidos", "Barrios Unidos"], ["Teusaquillo", "Teusaquillo"], ["Los Martires", "Los Martires"], ["Antonio Nariño", "Antonio Nariño"], ["Puente Aranda", "Puente Aranda"], ["La Candelaria", "La Candelaria"], ["Rafael Uribe Uribe", "Rafael Uribe Uribe"], ["Ciudad Bolivar", "Ciudad Bolivar"], ["Sumapaz", "Sumapaz"], ["Municipios cercanos", "Municipios cercanos"]]) Estrato = models.StringField(label="¿Qué estrato eres?", choices=[["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["Rural", "Rural"]]) Semestre = models.IntegerField(label="¿En que semestre estás?", initial=1, min=1) # PartForPayment fields: part_for_payment = models.CharField( choices=['Parte 1', 'Parte 2', 'Parte 3', 'Parte 4', 'Parte 5'] ) earnings_total = models.CurrencyField() earnings_part_selected = models.CurrencyField()