prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  On creating a plan, "Berlin" may be selected as district
  "Berlin" is part of the dropdown in the vorhaben create and update form
  
  @MagdaN should i add this issue to the whiteboard or taiga, too?
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `meinberlin/apps/plans/models.py`
  Content:
  ```
  1 from ckeditor.fields import RichTextField
  2 from django.conf import settings
  3 from django.core.urlresolvers import reverse
  4 from django.db import models
  5 from django.utils.translation import ugettext_lazy as _
  6 
  7 from adhocracy4 import transforms
  8 from adhocracy4.maps import fields as map_fields
  9 from adhocracy4.models.base import UserGeneratedContentModel
  10 from adhocracy4.projects import models as project_models
  11 from meinberlin.apps.maps.models import MapPreset
  12 
  13 STATUS_TODO = 0
  14 STATUS_PLANNING = 1
  15 STATUS_IMPLEMENTATION = 2
  16 STATUS_DONE = 3
  17 STATUS_STOPPED = 4
  18 
  19 PARTICIPATION_NO = 0
  20 PARTICIPATION_YES = 1
  21 PARTICIPATION_UNDECIDED = 2
  22 
  23 
  24 class Plan(UserGeneratedContentModel):
  25     title = models.CharField(max_length=120, verbose_name=_('Title'))
  26     organisation = models.ForeignKey(
  27         settings.A4_ORGANISATIONS_MODEL,
  28         on_delete=models.CASCADE)
  29     project = models.ForeignKey(project_models.Project, blank=True, null=True)
  30     point = map_fields.PointField(
  31         verbose_name=_('Where can the plan be located on a map?'),
  32         help_text=_('Click inside marked area on the map to set a marker. '
  33                     'Drag and drop the marker to change its place. '
  34                     'Alternatively you can use the search field to search '
  35                     'for an address.'))
  36     point_label = models.CharField(
  37         blank=True,
  38         default='',
  39         max_length=255,
  40         verbose_name=_('Label of the location'),
  41         help_text=_('This could be an address or the name of a landmark.'),
  42     )
  43     district = models.ForeignKey(
  44         MapPreset,
  45         limit_choices_to={'category__name': 'Berlin'})
  46     contact = models.TextField(max_length=255, verbose_name=_('Contact'))
  47     cost = models.PositiveIntegerField(blank=True, null=True,
  48                                        verbose_name=_('Cost'))
  49     description = RichTextField(verbose_name=_('Description'), blank=True)
  50     category = models.CharField(max_length=255, verbose_name=_('Type of plan'))
  51     status = models.SmallIntegerField(choices=(
  52         (STATUS_TODO, _('Idea')),
  53         (STATUS_PLANNING, _('Planning')),
  54         (STATUS_IMPLEMENTATION, _('Implementation')),
  55         (STATUS_DONE, _('Done')),
  56         (STATUS_STOPPED, _('Stopped')),
  57     ))
  58     participation = models.SmallIntegerField(choices=(
  59         (PARTICIPATION_YES, _('Yes')),
  60         (PARTICIPATION_NO, _('No')),
  61         (PARTICIPATION_UNDECIDED, _('Still undecided')),
  62     ))
  63 
  64     class Meta:
  65         ordering = ['-created']
  66 
  67     @property
  68     def reference_number(self):
  69         return '{:d}-{:05d}'.format(self.created.year, self.pk)
  70 
  71     def __str__(self):
  72         return self.title
  73 
  74     def get_absolute_url(self):
  75         return reverse('meinberlin_plans:plan-detail',
  76                        kwargs=dict(pk=self.pk, year=self.created.year))
  77 
  78     def save(self, *args, **kwargs):
  79         self.description = transforms.clean_html_field(self.description)
  80         super().save(*args, **kwargs)
  81
  ```
  --- 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/meinberlin/apps/plans/models.py b/meinberlin/apps/plans/models.py
  --- a/meinberlin/apps/plans/models.py
  +++ b/meinberlin/apps/plans/models.py
  @@ -2,6 +2,7 @@
   from django.conf import settings
   from django.core.urlresolvers import reverse
   from django.db import models
  +from django.db.models import Q
   from django.utils.translation import ugettext_lazy as _
   
   from adhocracy4 import transforms
  @@ -42,7 +43,7 @@
       )
       district = models.ForeignKey(
           MapPreset,
  -        limit_choices_to={'category__name': 'Berlin'})
  +        limit_choices_to=Q(category__name='Berlin') & ~Q(name='Berlin'))
       contact = models.TextField(max_length=255, verbose_name=_('Contact'))
       cost = models.PositiveIntegerField(blank=True, null=True,
                                          verbose_name=_('Cost'))
  
verification_info: {"golden_diff": "diff --git a/meinberlin/apps/plans/models.py b/meinberlin/apps/plans/models.py\n--- a/meinberlin/apps/plans/models.py\n+++ b/meinberlin/apps/plans/models.py\n@@ -2,6 +2,7 @@\n from django.conf import settings\n from django.core.urlresolvers import reverse\n from django.db import models\n+from django.db.models import Q\n from django.utils.translation import ugettext_lazy as _\n \n from adhocracy4 import transforms\n@@ -42,7 +43,7 @@\n     )\n     district = models.ForeignKey(\n         MapPreset,\n-        limit_choices_to={'category__name': 'Berlin'})\n+        limit_choices_to=Q(category__name='Berlin') & ~Q(name='Berlin'))\n     contact = models.TextField(max_length=255, verbose_name=_('Contact'))\n     cost = models.PositiveIntegerField(blank=True, null=True,\n                                        verbose_name=_('Cost'))\n", "issue": "On creating a plan, \"Berlin\" may be selected as district\n\"Berlin\" is part of the dropdown in the vorhaben create and update form\r\n\r\n@MagdaN should i add this issue to the whiteboard or taiga, too?\n", "before_files": [{"content": "from ckeditor.fields import RichTextField\nfrom django.conf import settings\nfrom django.core.urlresolvers import reverse\nfrom django.db import models\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom adhocracy4 import transforms\nfrom adhocracy4.maps import fields as map_fields\nfrom adhocracy4.models.base import UserGeneratedContentModel\nfrom adhocracy4.projects import models as project_models\nfrom meinberlin.apps.maps.models import MapPreset\n\nSTATUS_TODO = 0\nSTATUS_PLANNING = 1\nSTATUS_IMPLEMENTATION = 2\nSTATUS_DONE = 3\nSTATUS_STOPPED = 4\n\nPARTICIPATION_NO = 0\nPARTICIPATION_YES = 1\nPARTICIPATION_UNDECIDED = 2\n\n\nclass Plan(UserGeneratedContentModel):\n    title = models.CharField(max_length=120, verbose_name=_('Title'))\n    organisation = models.ForeignKey(\n        settings.A4_ORGANISATIONS_MODEL,\n        on_delete=models.CASCADE)\n    project = models.ForeignKey(project_models.Project, blank=True, null=True)\n    point = map_fields.PointField(\n        verbose_name=_('Where can the plan be located on a map?'),\n        help_text=_('Click inside marked area on the map to set a marker. '\n                    'Drag and drop the marker to change its place. '\n                    'Alternatively you can use the search field to search '\n                    'for an address.'))\n    point_label = models.CharField(\n        blank=True,\n        default='',\n        max_length=255,\n        verbose_name=_('Label of the location'),\n        help_text=_('This could be an address or the name of a landmark.'),\n    )\n    district = models.ForeignKey(\n        MapPreset,\n        limit_choices_to={'category__name': 'Berlin'})\n    contact = models.TextField(max_length=255, verbose_name=_('Contact'))\n    cost = models.PositiveIntegerField(blank=True, null=True,\n                                       verbose_name=_('Cost'))\n    description = RichTextField(verbose_name=_('Description'), blank=True)\n    category = models.CharField(max_length=255, verbose_name=_('Type of plan'))\n    status = models.SmallIntegerField(choices=(\n        (STATUS_TODO, _('Idea')),\n        (STATUS_PLANNING, _('Planning')),\n        (STATUS_IMPLEMENTATION, _('Implementation')),\n        (STATUS_DONE, _('Done')),\n        (STATUS_STOPPED, _('Stopped')),\n    ))\n    participation = models.SmallIntegerField(choices=(\n        (PARTICIPATION_YES, _('Yes')),\n        (PARTICIPATION_NO, _('No')),\n        (PARTICIPATION_UNDECIDED, _('Still undecided')),\n    ))\n\n    class Meta:\n        ordering = ['-created']\n\n    @property\n    def reference_number(self):\n        return '{:d}-{:05d}'.format(self.created.year, self.pk)\n\n    def __str__(self):\n        return self.title\n\n    def get_absolute_url(self):\n        return reverse('meinberlin_plans:plan-detail',\n                       kwargs=dict(pk=self.pk, year=self.created.year))\n\n    def save(self, *args, **kwargs):\n        self.description = transforms.clean_html_field(self.description)\n        super().save(*args, **kwargs)\n", "path": "meinberlin/apps/plans/models.py"}], "after_files": [{"content": "from ckeditor.fields import RichTextField\nfrom django.conf import settings\nfrom django.core.urlresolvers import reverse\nfrom django.db import models\nfrom django.db.models import Q\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom adhocracy4 import transforms\nfrom adhocracy4.maps import fields as map_fields\nfrom adhocracy4.models.base import UserGeneratedContentModel\nfrom adhocracy4.projects import models as project_models\nfrom meinberlin.apps.maps.models import MapPreset\n\nSTATUS_TODO = 0\nSTATUS_PLANNING = 1\nSTATUS_IMPLEMENTATION = 2\nSTATUS_DONE = 3\nSTATUS_STOPPED = 4\n\nPARTICIPATION_NO = 0\nPARTICIPATION_YES = 1\nPARTICIPATION_UNDECIDED = 2\n\n\nclass Plan(UserGeneratedContentModel):\n    title = models.CharField(max_length=120, verbose_name=_('Title'))\n    organisation = models.ForeignKey(\n        settings.A4_ORGANISATIONS_MODEL,\n        on_delete=models.CASCADE)\n    project = models.ForeignKey(project_models.Project, blank=True, null=True)\n    point = map_fields.PointField(\n        verbose_name=_('Where can the plan be located on a map?'),\n        help_text=_('Click inside marked area on the map to set a marker. '\n                    'Drag and drop the marker to change its place. '\n                    'Alternatively you can use the search field to search '\n                    'for an address.'))\n    point_label = models.CharField(\n        blank=True,\n        default='',\n        max_length=255,\n        verbose_name=_('Label of the location'),\n        help_text=_('This could be an address or the name of a landmark.'),\n    )\n    district = models.ForeignKey(\n        MapPreset,\n        limit_choices_to=Q(category__name='Berlin') & ~Q(name='Berlin'))\n    contact = models.TextField(max_length=255, verbose_name=_('Contact'))\n    cost = models.PositiveIntegerField(blank=True, null=True,\n                                       verbose_name=_('Cost'))\n    description = RichTextField(verbose_name=_('Description'), blank=True)\n    category = models.CharField(max_length=255, verbose_name=_('Type of plan'))\n    status = models.SmallIntegerField(choices=(\n        (STATUS_TODO, _('Idea')),\n        (STATUS_PLANNING, _('Planning')),\n        (STATUS_IMPLEMENTATION, _('Implementation')),\n        (STATUS_DONE, _('Done')),\n        (STATUS_STOPPED, _('Stopped')),\n    ))\n    participation = models.SmallIntegerField(choices=(\n        (PARTICIPATION_YES, _('Yes')),\n        (PARTICIPATION_NO, _('No')),\n        (PARTICIPATION_UNDECIDED, _('Still undecided')),\n    ))\n\n    class Meta:\n        ordering = ['-created']\n\n    @property\n    def reference_number(self):\n        return '{:d}-{:05d}'.format(self.created.year, self.pk)\n\n    def __str__(self):\n        return self.title\n\n    def get_absolute_url(self):\n        return reverse('meinberlin_plans:plan-detail',\n                       kwargs=dict(pk=self.pk, year=self.created.year))\n\n    def save(self, *args, **kwargs):\n        self.description = transforms.clean_html_field(self.description)\n        super().save(*args, **kwargs)\n", "path": "meinberlin/apps/plans/models.py"}]}