prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add default field in test_annotation field of ChallengePhase model.
  Please add `default=False` in the test_annotation field of ChallengePhase model.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `apps/challenges/models.py`
  Content:
  ```
  1 from __future__ import unicode_literals
  2 
  3 from django.utils import timezone
  4 from django.contrib.postgres.fields import JSONField
  5 from django.db import models
  6 
  7 from base.models import (TimeStampedModel, )
  8 from base.utils import RandomFileName
  9 from participants.models import (ParticipantTeam, )
  10 
  11 
  12 class Challenge(TimeStampedModel):
  13 
  14     """Model representing a hosted Challenge"""
  15     title = models.CharField(max_length=100)
  16     short_description = models.TextField(null=True, blank=True)
  17     description = models.TextField(null=True, blank=True)
  18     terms_and_conditions = models.TextField(null=True, blank=True)
  19     submission_guidelines = models.TextField(null=True, blank=True)
  20     evaluation_details = models.TextField(null=True, blank=True)
  21     image = models.ImageField(
  22         upload_to='logos', null=True, blank=True, verbose_name="Logo")
  23     start_date = models.DateTimeField(
  24         null=True, blank=True, verbose_name="Start Date (UTC)")
  25     end_date = models.DateTimeField(
  26         null=True, blank=True, verbose_name="End Date (UTC)")
  27     creator = models.ForeignKey(
  28         'hosts.ChallengeHostTeam', related_name='challenge_creator')
  29     published = models.BooleanField(
  30         default=False, verbose_name="Publicly Available")
  31     enable_forum = models.BooleanField(default=True)
  32     anonymous_leaderboard = models.BooleanField(default=False)
  33     participant_teams = models.ManyToManyField(ParticipantTeam, blank=True)
  34     is_disabled = models.BooleanField(default=False)
  35     evaluation_script = models.FileField(
  36         default=False, upload_to=RandomFileName("evaluation_scripts"))  # should be zip format
  37     approved_by_admin = models.BooleanField(
  38         default=False, verbose_name="Approved By Admin")
  39 
  40     class Meta:
  41         app_label = 'challenges'
  42         db_table = 'challenge'
  43 
  44     def __str__(self):
  45         """Returns the title of Challenge"""
  46         return self.title
  47 
  48     def get_image_url(self):
  49         """Returns the url of logo of Challenge"""
  50         if self.image:
  51             return self.image.url
  52         return None
  53 
  54     def get_evaluation_script_path(self):
  55         """Returns the path of evaluation script"""
  56         if self.evaluation_script:
  57             return self.evaluation_script.url
  58         return None
  59 
  60     def get_start_date(self):
  61         """Returns the start date of Challenge"""
  62         return self.start_date
  63 
  64     def get_end_date(self):
  65         """Returns the end date of Challenge"""
  66         return self.end_date
  67 
  68     @property
  69     def is_active(self):
  70         """Returns if the challenge is active or not"""
  71         if self.start_date < timezone.now() and self.end_date > timezone.now():
  72             return True
  73         return False
  74 
  75 
  76 class DatasetSplit(TimeStampedModel):
  77     name = models.CharField(max_length=100)
  78     codename = models.CharField(max_length=100)
  79 
  80     def __unicode__(self):
  81         return self.name
  82 
  83     class Meta:
  84         app_label = 'challenges'
  85         db_table = 'dataset_split'
  86 
  87 
  88 class ChallengePhase(TimeStampedModel):
  89 
  90     """Model representing a Challenge Phase"""
  91     name = models.CharField(max_length=100)
  92     description = models.TextField()
  93     leaderboard_public = models.BooleanField(default=False)
  94     start_date = models.DateTimeField(
  95         null=True, blank=True, verbose_name="Start Date (UTC)")
  96     end_date = models.DateTimeField(
  97         null=True, blank=True, verbose_name="End Date (UTC)")
  98     challenge = models.ForeignKey('Challenge')
  99     is_public = models.BooleanField(default=False)
  100     is_submission_public = models.BooleanField(default=False)
  101     test_annotation = models.FileField(upload_to=RandomFileName("test_annotations"))
  102     max_submissions_per_day = models.PositiveIntegerField(default=100000)
  103     max_submissions = models.PositiveIntegerField(default=100000)
  104     codename = models.CharField(max_length=100, default="Phase Code Name")
  105     dataset_split = models.ManyToManyField(DatasetSplit, blank=True, through='ChallengePhaseSplit')
  106 
  107     class Meta:
  108         app_label = 'challenges'
  109         db_table = 'challenge_phase'
  110         unique_together = (('codename', 'challenge'),)
  111 
  112     def __str__(self):
  113         """Returns the name of Phase"""
  114         return self.name
  115 
  116     def get_start_date(self):
  117         """Returns the start date of Phase"""
  118         return self.start_date
  119 
  120     def get_end_date(self):
  121         """Returns the end date of Challenge"""
  122         return self.end_date
  123 
  124     @property
  125     def is_active(self):
  126         """Returns if the challenge is active or not"""
  127         if self.start_date < timezone.now() and self.end_date > timezone.now():
  128             return True
  129         return False
  130 
  131 
  132 class Leaderboard(TimeStampedModel):
  133 
  134     schema = JSONField()
  135 
  136     def __unicode__(self):
  137         return "%s" % (self.id)
  138 
  139     class Meta:
  140         app_label = 'challenges'
  141         db_table = 'leaderboard'
  142 
  143 
  144 class ChallengePhaseSplit(TimeStampedModel):
  145 
  146     # visibility options
  147     HOST = 1
  148     OWNER_AND_HOST = 2
  149     PUBLIC = 3
  150 
  151     VISIBILITY_OPTIONS = (
  152         (HOST, 'host'),
  153         (OWNER_AND_HOST, 'owner and host'),
  154         (PUBLIC, 'public'),
  155     )
  156 
  157     challenge_phase = models.ForeignKey('ChallengePhase')
  158     dataset_split = models.ForeignKey('DatasetSplit')
  159     leaderboard = models.ForeignKey('Leaderboard')
  160     visibility = models.PositiveSmallIntegerField(
  161         choices=VISIBILITY_OPTIONS,
  162         default=PUBLIC
  163     )
  164 
  165     def __unicode__(self):
  166         return "%s : %s" % (self.challenge_phase.name, self.dataset_split.name)
  167 
  168     class Meta:
  169         app_label = 'challenges'
  170         db_table = 'challenge_phase_split'
  171 
  172 
  173 class LeaderboardData(TimeStampedModel):
  174 
  175     challenge_phase_split = models.ForeignKey('ChallengePhaseSplit')
  176     submission = models.ForeignKey('jobs.Submission')
  177     leaderboard = models.ForeignKey('Leaderboard')
  178     result = JSONField()
  179 
  180     def __unicode__(self):
  181         return "%s : %s" % (self.challenge_phase_split, self.submission)
  182 
  183     class Meta:
  184         app_label = 'challenges'
  185         db_table = 'leaderboard_data'
  186
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/apps/challenges/models.py b/apps/challenges/models.py
  --- a/apps/challenges/models.py
  +++ b/apps/challenges/models.py
  @@ -98,7 +98,7 @@
       challenge = models.ForeignKey('Challenge')
       is_public = models.BooleanField(default=False)
       is_submission_public = models.BooleanField(default=False)
  -    test_annotation = models.FileField(upload_to=RandomFileName("test_annotations"))
  +    test_annotation = models.FileField(upload_to=RandomFileName("test_annotations"), default=False)
       max_submissions_per_day = models.PositiveIntegerField(default=100000)
       max_submissions = models.PositiveIntegerField(default=100000)
       codename = models.CharField(max_length=100, default="Phase Code Name")
  
verification_info: {"golden_diff": "diff --git a/apps/challenges/models.py b/apps/challenges/models.py\n--- a/apps/challenges/models.py\n+++ b/apps/challenges/models.py\n@@ -98,7 +98,7 @@\n     challenge = models.ForeignKey('Challenge')\n     is_public = models.BooleanField(default=False)\n     is_submission_public = models.BooleanField(default=False)\n-    test_annotation = models.FileField(upload_to=RandomFileName(\"test_annotations\"))\n+    test_annotation = models.FileField(upload_to=RandomFileName(\"test_annotations\"), default=False)\n     max_submissions_per_day = models.PositiveIntegerField(default=100000)\n     max_submissions = models.PositiveIntegerField(default=100000)\n     codename = models.CharField(max_length=100, default=\"Phase Code Name\")\n", "issue": "Add default field in test_annotation field of ChallengePhase model.\nPlease add `default=False` in the test_annotation field of ChallengePhase model.\n", "before_files": [{"content": "from __future__ import unicode_literals\n\nfrom django.utils import timezone\nfrom django.contrib.postgres.fields import JSONField\nfrom django.db import models\n\nfrom base.models import (TimeStampedModel, )\nfrom base.utils import RandomFileName\nfrom participants.models import (ParticipantTeam, )\n\n\nclass Challenge(TimeStampedModel):\n\n    \"\"\"Model representing a hosted Challenge\"\"\"\n    title = models.CharField(max_length=100)\n    short_description = models.TextField(null=True, blank=True)\n    description = models.TextField(null=True, blank=True)\n    terms_and_conditions = models.TextField(null=True, blank=True)\n    submission_guidelines = models.TextField(null=True, blank=True)\n    evaluation_details = models.TextField(null=True, blank=True)\n    image = models.ImageField(\n        upload_to='logos', null=True, blank=True, verbose_name=\"Logo\")\n    start_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"Start Date (UTC)\")\n    end_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"End Date (UTC)\")\n    creator = models.ForeignKey(\n        'hosts.ChallengeHostTeam', related_name='challenge_creator')\n    published = models.BooleanField(\n        default=False, verbose_name=\"Publicly Available\")\n    enable_forum = models.BooleanField(default=True)\n    anonymous_leaderboard = models.BooleanField(default=False)\n    participant_teams = models.ManyToManyField(ParticipantTeam, blank=True)\n    is_disabled = models.BooleanField(default=False)\n    evaluation_script = models.FileField(\n        default=False, upload_to=RandomFileName(\"evaluation_scripts\"))  # should be zip format\n    approved_by_admin = models.BooleanField(\n        default=False, verbose_name=\"Approved By Admin\")\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'challenge'\n\n    def __str__(self):\n        \"\"\"Returns the title of Challenge\"\"\"\n        return self.title\n\n    def get_image_url(self):\n        \"\"\"Returns the url of logo of Challenge\"\"\"\n        if self.image:\n            return self.image.url\n        return None\n\n    def get_evaluation_script_path(self):\n        \"\"\"Returns the path of evaluation script\"\"\"\n        if self.evaluation_script:\n            return self.evaluation_script.url\n        return None\n\n    def get_start_date(self):\n        \"\"\"Returns the start date of Challenge\"\"\"\n        return self.start_date\n\n    def get_end_date(self):\n        \"\"\"Returns the end date of Challenge\"\"\"\n        return self.end_date\n\n    @property\n    def is_active(self):\n        \"\"\"Returns if the challenge is active or not\"\"\"\n        if self.start_date < timezone.now() and self.end_date > timezone.now():\n            return True\n        return False\n\n\nclass DatasetSplit(TimeStampedModel):\n    name = models.CharField(max_length=100)\n    codename = models.CharField(max_length=100)\n\n    def __unicode__(self):\n        return self.name\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'dataset_split'\n\n\nclass ChallengePhase(TimeStampedModel):\n\n    \"\"\"Model representing a Challenge Phase\"\"\"\n    name = models.CharField(max_length=100)\n    description = models.TextField()\n    leaderboard_public = models.BooleanField(default=False)\n    start_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"Start Date (UTC)\")\n    end_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"End Date (UTC)\")\n    challenge = models.ForeignKey('Challenge')\n    is_public = models.BooleanField(default=False)\n    is_submission_public = models.BooleanField(default=False)\n    test_annotation = models.FileField(upload_to=RandomFileName(\"test_annotations\"))\n    max_submissions_per_day = models.PositiveIntegerField(default=100000)\n    max_submissions = models.PositiveIntegerField(default=100000)\n    codename = models.CharField(max_length=100, default=\"Phase Code Name\")\n    dataset_split = models.ManyToManyField(DatasetSplit, blank=True, through='ChallengePhaseSplit')\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'challenge_phase'\n        unique_together = (('codename', 'challenge'),)\n\n    def __str__(self):\n        \"\"\"Returns the name of Phase\"\"\"\n        return self.name\n\n    def get_start_date(self):\n        \"\"\"Returns the start date of Phase\"\"\"\n        return self.start_date\n\n    def get_end_date(self):\n        \"\"\"Returns the end date of Challenge\"\"\"\n        return self.end_date\n\n    @property\n    def is_active(self):\n        \"\"\"Returns if the challenge is active or not\"\"\"\n        if self.start_date < timezone.now() and self.end_date > timezone.now():\n            return True\n        return False\n\n\nclass Leaderboard(TimeStampedModel):\n\n    schema = JSONField()\n\n    def __unicode__(self):\n        return \"%s\" % (self.id)\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'leaderboard'\n\n\nclass ChallengePhaseSplit(TimeStampedModel):\n\n    # visibility options\n    HOST = 1\n    OWNER_AND_HOST = 2\n    PUBLIC = 3\n\n    VISIBILITY_OPTIONS = (\n        (HOST, 'host'),\n        (OWNER_AND_HOST, 'owner and host'),\n        (PUBLIC, 'public'),\n    )\n\n    challenge_phase = models.ForeignKey('ChallengePhase')\n    dataset_split = models.ForeignKey('DatasetSplit')\n    leaderboard = models.ForeignKey('Leaderboard')\n    visibility = models.PositiveSmallIntegerField(\n        choices=VISIBILITY_OPTIONS,\n        default=PUBLIC\n    )\n\n    def __unicode__(self):\n        return \"%s : %s\" % (self.challenge_phase.name, self.dataset_split.name)\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'challenge_phase_split'\n\n\nclass LeaderboardData(TimeStampedModel):\n\n    challenge_phase_split = models.ForeignKey('ChallengePhaseSplit')\n    submission = models.ForeignKey('jobs.Submission')\n    leaderboard = models.ForeignKey('Leaderboard')\n    result = JSONField()\n\n    def __unicode__(self):\n        return \"%s : %s\" % (self.challenge_phase_split, self.submission)\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'leaderboard_data'\n", "path": "apps/challenges/models.py"}], "after_files": [{"content": "from __future__ import unicode_literals\n\nfrom django.utils import timezone\nfrom django.contrib.postgres.fields import JSONField\nfrom django.db import models\n\nfrom base.models import (TimeStampedModel, )\nfrom base.utils import RandomFileName\nfrom participants.models import (ParticipantTeam, )\n\n\nclass Challenge(TimeStampedModel):\n\n    \"\"\"Model representing a hosted Challenge\"\"\"\n    title = models.CharField(max_length=100)\n    short_description = models.TextField(null=True, blank=True)\n    description = models.TextField(null=True, blank=True)\n    terms_and_conditions = models.TextField(null=True, blank=True)\n    submission_guidelines = models.TextField(null=True, blank=True)\n    evaluation_details = models.TextField(null=True, blank=True)\n    image = models.ImageField(\n        upload_to='logos', null=True, blank=True, verbose_name=\"Logo\")\n    start_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"Start Date (UTC)\")\n    end_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"End Date (UTC)\")\n    creator = models.ForeignKey(\n        'hosts.ChallengeHostTeam', related_name='challenge_creator')\n    published = models.BooleanField(\n        default=False, verbose_name=\"Publicly Available\")\n    enable_forum = models.BooleanField(default=True)\n    anonymous_leaderboard = models.BooleanField(default=False)\n    participant_teams = models.ManyToManyField(ParticipantTeam, blank=True)\n    is_disabled = models.BooleanField(default=False)\n    evaluation_script = models.FileField(\n        default=False, upload_to=RandomFileName(\"evaluation_scripts\"))  # should be zip format\n    approved_by_admin = models.BooleanField(\n        default=False, verbose_name=\"Approved By Admin\")\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'challenge'\n\n    def __str__(self):\n        \"\"\"Returns the title of Challenge\"\"\"\n        return self.title\n\n    def get_image_url(self):\n        \"\"\"Returns the url of logo of Challenge\"\"\"\n        if self.image:\n            return self.image.url\n        return None\n\n    def get_evaluation_script_path(self):\n        \"\"\"Returns the path of evaluation script\"\"\"\n        if self.evaluation_script:\n            return self.evaluation_script.url\n        return None\n\n    def get_start_date(self):\n        \"\"\"Returns the start date of Challenge\"\"\"\n        return self.start_date\n\n    def get_end_date(self):\n        \"\"\"Returns the end date of Challenge\"\"\"\n        return self.end_date\n\n    @property\n    def is_active(self):\n        \"\"\"Returns if the challenge is active or not\"\"\"\n        if self.start_date < timezone.now() and self.end_date > timezone.now():\n            return True\n        return False\n\n\nclass DatasetSplit(TimeStampedModel):\n    name = models.CharField(max_length=100)\n    codename = models.CharField(max_length=100)\n\n    def __unicode__(self):\n        return self.name\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'dataset_split'\n\n\nclass ChallengePhase(TimeStampedModel):\n\n    \"\"\"Model representing a Challenge Phase\"\"\"\n    name = models.CharField(max_length=100)\n    description = models.TextField()\n    leaderboard_public = models.BooleanField(default=False)\n    start_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"Start Date (UTC)\")\n    end_date = models.DateTimeField(\n        null=True, blank=True, verbose_name=\"End Date (UTC)\")\n    challenge = models.ForeignKey('Challenge')\n    is_public = models.BooleanField(default=False)\n    is_submission_public = models.BooleanField(default=False)\n    test_annotation = models.FileField(upload_to=RandomFileName(\"test_annotations\"), default=False)\n    max_submissions_per_day = models.PositiveIntegerField(default=100000)\n    max_submissions = models.PositiveIntegerField(default=100000)\n    codename = models.CharField(max_length=100, default=\"Phase Code Name\")\n    dataset_split = models.ManyToManyField(DatasetSplit, blank=True, through='ChallengePhaseSplit')\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'challenge_phase'\n        unique_together = (('codename', 'challenge'),)\n\n    def __str__(self):\n        \"\"\"Returns the name of Phase\"\"\"\n        return self.name\n\n    def get_start_date(self):\n        \"\"\"Returns the start date of Phase\"\"\"\n        return self.start_date\n\n    def get_end_date(self):\n        \"\"\"Returns the end date of Challenge\"\"\"\n        return self.end_date\n\n    @property\n    def is_active(self):\n        \"\"\"Returns if the challenge is active or not\"\"\"\n        if self.start_date < timezone.now() and self.end_date > timezone.now():\n            return True\n        return False\n\n\nclass Leaderboard(TimeStampedModel):\n\n    schema = JSONField()\n\n    def __unicode__(self):\n        return \"%s\" % (self.id)\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'leaderboard'\n\n\nclass ChallengePhaseSplit(TimeStampedModel):\n\n    # visibility options\n    HOST = 1\n    OWNER_AND_HOST = 2\n    PUBLIC = 3\n\n    VISIBILITY_OPTIONS = (\n        (HOST, 'host'),\n        (OWNER_AND_HOST, 'owner and host'),\n        (PUBLIC, 'public'),\n    )\n\n    challenge_phase = models.ForeignKey('ChallengePhase')\n    dataset_split = models.ForeignKey('DatasetSplit')\n    leaderboard = models.ForeignKey('Leaderboard')\n    visibility = models.PositiveSmallIntegerField(\n        choices=VISIBILITY_OPTIONS,\n        default=PUBLIC\n    )\n\n    def __unicode__(self):\n        return \"%s : %s\" % (self.challenge_phase.name, self.dataset_split.name)\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'challenge_phase_split'\n\n\nclass LeaderboardData(TimeStampedModel):\n\n    challenge_phase_split = models.ForeignKey('ChallengePhaseSplit')\n    submission = models.ForeignKey('jobs.Submission')\n    leaderboard = models.ForeignKey('Leaderboard')\n    result = JSONField()\n\n    def __unicode__(self):\n        return \"%s : %s\" % (self.challenge_phase_split, self.submission)\n\n    class Meta:\n        app_label = 'challenges'\n        db_table = 'leaderboard_data'\n", "path": "apps/challenges/models.py"}]}