from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'Questionnaire' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): age = models.PositiveIntegerField( verbose_name="What is your age?", min=18, max=65) gender = models.StringField( choices=['Male', 'Female', 'Transgender','Do not identify as female, male, or transgender'], verbose_name="What gender do you identify with?", widget=widgets.RadioSelect()) political = models.StringField( verbose_name='Where would you place YOURSELF on this scale?', choices=['Extremely liberal', 'Liberal', 'Slightly liberal', 'Moderate; middle of the road', 'Slightly conservative', 'Conservative', 'Extremely conservative'], widget=widgets.RadioSelect() ) education = models.StringField( verbose_name='What is the highest degree you earned?', choices=['High school diploma or equivalency (GED)', 'Associate degree (junior college)', "Bachelor's degree", "Master's degree", "Doctorate", "Professional (MD, JD, DDS, etc.)", "None of the above (less than high school)"], widget=widgets.RadioSelect() ) income = models.StringField( verbose_name=' How much did you earn, before taxes and other deductions, during the past 12 months?', choices=['Less than $5,000', '$5,000 through $11,999', '$12,000 through $15,999', '$16,000 through $24,999', '$25,000 through $34,999', '$35,000 through $49,999', '$50,000 through $74,999', '$75,000 through $99,999', '$100,000 and greater', "Don't know"], widget=widgets.RadioSelect() ) # gts_1 = models.PositiveIntegerField( # verbose_name='Most people are basically honest.', # choices=range(1, 6, 1), # widget=widgets.RadioSelectHorizontal() # ) # gts_2 = models.PositiveIntegerField( # verbose_name='Most people are trustworthy.', # choices=range(1, 6, 1), # widget=widgets.RadioSelectHorizontal() # ) # gts_3 = models.PositiveIntegerField( # verbose_name='Most people are basically good and kind.', # choices=range(1, 6, 1), # widget=widgets.RadioSelectHorizontal() # ) # gts_4 = models.PositiveIntegerField( # verbose_name='Most people are trustful of others.', # choices=range(1, 6, 1), # widget=widgets.RadioSelectHorizontal() # ) # gts_5 = models.PositiveIntegerField( # verbose_name='I am trustful.', # choices=range(1, 6, 1), # widget=widgets.RadioSelectHorizontal() # ) # gts_6 = models.PositiveIntegerField( # verbose_name='Most people will respond in kind when they are trusted by others.', # choices=range(1, 6, 1), # widget=widgets.RadioSelectHorizontal() # ) AQ_1 = models.PositiveIntegerField( verbose_name='I usually concentrate more on the whole picture, rather than the small details.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_2 = models.PositiveIntegerField( verbose_name='Those devoted to unselfish causes are often exploited by others.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_3 = models.PositiveIntegerField( verbose_name='I find it easy to do more than one thing at once.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_4 = models.PositiveIntegerField( verbose_name='If there is an interruption, I can switch back to what I was doing very quickly.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_5 = models.PositiveIntegerField( verbose_name='I find it easy to ‘read between the lines’ when someone is talking to me.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_6 = models.PositiveIntegerField( verbose_name='I know how to tell if someone listening to me is getting bored.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_7 = models.PositiveIntegerField( verbose_name='When I’m reading a story I find it difficult to work out the characters’ intentions.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_8 = models.PositiveIntegerField( verbose_name='I like to collect information about categories of things (e.g. types of car, types of bird, types of train, types of plant etc).', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_9 = models.PositiveIntegerField( verbose_name='I find it easy to work out what someone is thinking or feeling just by looking at their face.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) AQ_10 = models.PositiveIntegerField( verbose_name='I find it difficult to work out people’s intentions.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_1 = models.PositiveIntegerField( verbose_name="Do you believe that STRANGERS can read YOUR mind better than others?", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_2 = models.PositiveIntegerField( verbose_name='My thoughts are private and no one, but me, has access to them.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_3 = models.PositiveIntegerField( verbose_name='I believe that I am good at telling what another person is thinking.', choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_4 = models.PositiveIntegerField( verbose_name="I’m confident that I can tell what others are thinking.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_5 = models.PositiveIntegerField( verbose_name="My thoughts are private and no one, but me, has access to them.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_6 = models.PositiveIntegerField( verbose_name="When I watch a movie, I can always guess what the character will do next.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_7 = models.PositiveIntegerField( verbose_name="Sometimes, I think people have direct insight into what I am thinking.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_8 = models.PositiveIntegerField( verbose_name="Under the right conditions, I’m good at lying make people feel better.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_9 = models.PositiveIntegerField( verbose_name="I can tell if others are teasing me.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_10 = models.PositiveIntegerField( verbose_name="I can tell someone one opinion, while thinking the opposite.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_11 = models.PositiveIntegerField( verbose_name="How confident are you that others can guess what you are thinking?", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_12 = models.PositiveIntegerField( verbose_name="Compared to my friends (On average), I am better at guessing what others think.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_13 = models.PositiveIntegerField( verbose_name="I cannot lie, because people will know my intentions.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_14 = models.PositiveIntegerField( verbose_name="Advertisements are pretty accurate at knowing my current desires.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_15 = models.PositiveIntegerField( verbose_name="If I find someone attractive, I believe that they know I find them attractive.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) MMQ_16 = models.PositiveIntegerField( verbose_name="I’m good at keeping my thoughts to myself.", choices=range(1, 5, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_1 = models.PositiveIntegerField( verbose_name="Success is based on survival of the fittest, I am not concerned about the losers.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_2 = models.PositiveIntegerField( verbose_name="For me, what's right is whatever I can get away with.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_3 = models.PositiveIntegerField( verbose_name="In today's world, I feel justified in doing anything I can get away with to succeed.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_4 = models.PositiveIntegerField( verbose_name="My main purpose in life is getting as many goodies as I can.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_5 = models.PositiveIntegerField( verbose_name="Making a lot of money is my most important goal.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_6 = models.PositiveIntegerField( verbose_name="I let others worry about higher values; my main concern is with the bottom line.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_7 = models.PositiveIntegerField( verbose_name="People who are stupid enough to get ripped off usually deserve it.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_8 = models.PositiveIntegerField( verbose_name="Looking out for myself is my top priority.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_9 = models.PositiveIntegerField( verbose_name="I tell other people what they want to hear so that they will do what I want them to do.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_10 = models.PositiveIntegerField( verbose_name="I would be upset if my success came at someone else's expense.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_11 = models.PositiveIntegerField( verbose_name="I often admire a really clever scam.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_12 = models.PositiveIntegerField( verbose_name="I make a point of trying not to hurt others in pursuit of my goals.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_13 = models.PositiveIntegerField( verbose_name="I enjoy manipulating other people's feelings.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_14 = models.PositiveIntegerField( verbose_name="I feel bad if my words or actions cause someone else to feel emotional pain.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_15 = models.PositiveIntegerField( verbose_name="Even if I were trying very hard to sell something, I wouldn't lie about it.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_16 = models.PositiveIntegerField( verbose_name="Cheating is not justified because it is unfair to others.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_17 = models.PositiveIntegerField( verbose_name="I find myself in the same kinds of trouble, time after time.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_18 = models.PositiveIntegerField( verbose_name="I am often bored.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_19 = models.PositiveIntegerField( verbose_name="I find that I am able to pursue one goal for a long time.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_20 = models.PositiveIntegerField( verbose_name="I don't plan anything very far in advance.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_21 = models.PositiveIntegerField( verbose_name="I quickly lose interest in tasks I start.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_22 = models.PositiveIntegerField( verbose_name="Most of my problems are due to the fact that other people just don't understand me.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_23 = models.PositiveIntegerField( verbose_name="Before I do anything, I carefully consider the possible consequences.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_24 = models.PositiveIntegerField( verbose_name="I have been in a lot of shouting matches with other people.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_25 = models.PositiveIntegerField( verbose_name="When I get frustrated, I often let off steam by blowing my top.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) PPQ_26 = models.PositiveIntegerField( verbose_name="Love is overrated.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) debrief_1 = models.StringField( verbose_name="Were the instructions clear to you?", choices=['Yes','No'], widget=widgets.RadioSelectHorizontal(), blank=True ) debrief_2 = models.StringField( verbose_name='If you answered "No" to the question above, what was unclear to you?', blank=True ) debrief_3 = models.StringField( verbose_name='What do you think the study is about?', blank=True ) debrief_4 = models.StringField( verbose_name='Do you have any suggestions for us?', blank=True )