from otree.api import * class Constants(BaseConstants): name_in_url = 'umfrage' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): comprehension = models.StringField( label="Hast du die Instruktionen und den Spielablauf verstanden? ", choices=['Sehr gut', 'Gut', 'Grundlegend', 'Kaum', 'Gar nicht'], widget=widgets.RadioSelect ) strategy_dif = models.StringField( label="Hat es für deine Strategie eine Rolle gespielt, ob im Spiel die Möglichkeit der Selbstbindung inkludiert war? ", choices=["Ja", "Nein"], widget=widgets.RadioSelect ) strategy = models.LongStringField( label="Falls du eine Strategie für das Spiel entwickelt hattest, bitte beschreibe die Strategie hier:", blank=True ) age = models.IntegerField(label="Wie alt bist du? ") gender = models.StringField( label="Was ist dein Geschlecht?", choices=['Männlich', 'Weiblich', 'Sonstiges'], widget=widgets.RadioSelect ) education = models.StringField( label="Was ist dein derzeitiger Bildungsstand? (höchste abgeschlossene Ausbildung)", choices=['Promotion', 'Master/Diplom', 'Bachelor', 'Kaufmännische Ausbildung', 'Abitur', 'Keine Antwort zutreffend'], widget=widgets.RadioSelect ) study = models.StringField( label="In welcher Fachrichtung liegt/lag dein Studienschwerpunkt?", choices=['Wirtschaftswissenschaften', 'Ingenieurswissenschaften', 'Naturwissenschaften', 'Geisteswissenschaften', 'Rechtswissenschaften', 'Andere'], widget=widgets.RadioSelect ) game_theory = models.StringField( label="Wie gut schätzt du deine Kenntnisse im Bereich der Spieltheorie ein?", choices=['Sehr gut', 'Gut', 'Grundlegend', 'Gering', 'Keine'], widget=widgets.RadioSelect ) feedback = models.LongStringField( label="Hast du Feedback zum Experiment? ", blank=True ) # PAGES class MyPage(Page): form_model = 'player' form_fields = ['comprehension', 'strategy_dif', "strategy", 'age', 'gender', 'education', 'study', 'game_theory', 'feedback'] class Results(Page): pass def custom_export(players): # header row yield ['session', 'participant_code', "answer_comprehension", 'answer_strategy_dif', 'answer_strategy', "answer_age", "answer_gemder", "answer_education", "answer_study", "answer_game_theory", "feedback"] # for loop to get a row for each player for p in players: participant = p.participant session = p.session yield [session.code, participant.code, p.comprehension, p.strategy_dif, p.strategy, p.age, p.gender, p.education, p.study, p.game_theory, p.feedback] page_sequence = [MyPage, Results]