from otree.api import * doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'endowment_effect' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass def creating_session(subsession: Subsession): players = subsession.get_players() for p in players: # this means if the player's ID is not a multiple of 2, they are a buyer. # for more buyers, change the 2 to 3 p.is_buyer = p.id_in_group % 2 > 0 class Group(BaseGroup): pass class Player(BasePlayer): is_buyer = models.BooleanField() price_water_bottle = models.IntegerField(min=0, label="") price_head_phones = models.IntegerField(min=0, label="") price_mattress = models.IntegerField(min=0, label="") # PAGES class WaterBottle(Page): form_model = 'player' form_fields = ['price_water_bottle'] # def vars_for_template(player): # return dict( # buyer=player.is_buyer # ) class HeadPhones(Page): form_model = 'player' form_fields = ['price_head_phones'] class Mattress(Page): form_model = 'player' form_fields = ['price_mattress'] page_sequence = [WaterBottle, HeadPhones, Mattress]