Test_Johanne/quest_demo/models.py

174 lines
4.8 KiB
Python
Raw Permalink Normal View History

2025-03-06 10:28:01 +01:00
from otree.api import (
models,
widgets,
BaseConstants,
BaseSubsession,
BaseGroup,
BasePlayer,
Currency as c,
currency_range,
)
class Constants(BaseConstants):
name_in_url = 'quest_demo'
players_per_group = None
num_rounds = 1
class Subsession(BaseSubsession):
pass
class Group(BaseGroup):
pass
class Player(BasePlayer):
task_start_1 = models.FloatField()
task_time_1 = models.FloatField()
num_errors = models.IntegerField()
genre = models.IntegerField(
choices=[
[0, 'Un homme'],
[1, 'Une femme'],
],
widget=widgets.RadioSelectHorizontal,
label="1 - Vous êtes ...",
blank=False
)
age = models.IntegerField(
choices=[
[0, '0-17 ans'],
[1, '18-25 ans'],
[2, '26-35 ans'],
[3, '36-45 ans'],
[4, '46-55 ans'],
[5, '56-65 ans'],
[6, 'plus de 65 ans'],
],
widget=widgets.RadioSelectHorizontal,
label="2 - Quel est votre âge ?",
blank=False,
min = 0,
max = 100,
)
pays = models.StringField(
label="3 - Quel est votre pays de résidence ?",
blank=False,
)
code_postal = models.IntegerField(
label="4 - Quel est votre code postale ?",
blank=False,
min = 0,
max = 99999,
)
salaire = models.IntegerField(
choices=[
[0, 'Moins de 1250 €'],
[1, 'Entre 1250 et 1400 €'],
[2, 'Entre 1400 et 1550 €'],
[3, 'Entre 1550 et 1700 €'],
[4, 'Entre 1700 et 1850 €'],
[5, 'Entre 1850 et 2050 €'],
[6, 'Entre 2050 et 2350 €'],
[7, 'Entre 2350 et 2800 €'],
[8, 'Entre 2800 et 3700 €'],
[9, 'Plus de 3700 €'],
],
widget=widgets.RadioSelect,
label="5 - Quel est approximativement votre niveau de salaire mensuel ?",
blank=False
)
socio_pro = models.IntegerField(
choices=[
[0, 'agriculteurs exploitants'],
[1, 'artisans, commerçants et chefs d''entreprise'],
[2, 'cadres et professions intellectuelles supérieures'],
[3, 'professions intermédiaires (cadres moyens)'],
[4, 'employés et personnel de service'],
[5, 'ouvriers qualifiés'],
[6, 'manœuvres et ouvriers spécialisés'],
[7, 'autres personnes sans activité professionnelle'],
[8, 'étudiant'],
],
widget=widgets.RadioSelect,
label="6 - Quelle est/était votre catégorie socio-professionnelle ?",
blank=False
)
annee_naissance = models.IntegerField(
label="7 - Quelle est votre année de naissance ?",
blank=False,
min=1900,
max=2010,
)
etudes = models.IntegerField(
choices=[
[0, 'Aucun diplôme ou certificat détudes primaires'],
[1, 'Brevet des collèges'],
[2, 'CAP, BEP ou équivalent'],
[3, 'Baccalauréat, brevet professionnel ou équivalent'],
[4, 'Diplôme du supérieur court (niveau bac +2)'],
[5, 'Diplôme du supérieur long (supérieur à bac +2)'],
],
widget=widgets.RadioSelect,
label="8 - Quel est le plus haut diplôme que vous avez obtenu ? Si toujours étudiant, quel est le diplôme dans lequel vous êtes actuellement inscrit ?",
blank=False
)
police_question1 = models.IntegerField(
choices=[
[0, 'Très satisfaisante'],
[1, 'Satisfaisante'],
[2, 'Peu satisfaisante'],
[3, 'Pas du tout satisfaisante'],
],
widget=widgets.RadioSelectHorizontal,
label="9 - A propos de laction en général de la police ou de la gendarmerie nationale dans la société française actuelle, vous diriez généralement quelle est …",
blank=False
)
police_question2 = models.IntegerField(
choices=[
[0, 'Souvent'],
[1, 'De temps en temps'],
[2, 'Rarement'],
[3, 'Jamais'],
],
widget=widgets.RadioSelectHorizontal,
label="10 - Vous arrive-t-il personnellement de vous sentir en insécurité dans votre quartier ou votre village ?",
blank=False
)
police_question3 = models.IntegerField(
choices=[
[0, 'Pas du tout daccord'],
[1, 'Plutôt pas daccord'],
[2, 'Plutôt daccord'],
[3, 'Tout à fait daccord'],
],
widget=widgets.RadioSelectHorizontal,
label="11 - Imaginons que dans le futur vous soyez la victime dun vol. Vous êtes certain daller le déclarer auprès de la police.",
blank=False
)