Skip to content

Commit

Permalink
Increase name length and add city field
Browse files Browse the repository at this point in the history
  • Loading branch information
aapris committed Nov 1, 2023
1 parent 0086719 commit a0e2ad4
Show file tree
Hide file tree
Showing 3 changed files with 230 additions and 92 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,25 @@ def create_challenge_and_criterion(identifier: str, challenge: dict) -> Applicat
All objects are created using get_or_create() method, so that existing objects are not duplicated.
"""
# Create ApplicationRound
ar_name = f"{identifier}: {challenge['title']}"[:128]
ar, created = ApplicationRound.objects.get_or_create(name=ar_name, description=challenge["text"])
long_ar_name = f"{identifier}: {challenge['title']}"
ar_name = long_ar_name[:128]
# try to get existing ApplicationRound using long_ar_name
created = False
try:
ar = ApplicationRound.objects.get(name=long_ar_name)
except ApplicationRound.DoesNotExist: # Then with ar_name
try:
ar = ApplicationRound.objects.get(name=ar_name)
ar.name = long_ar_name
print(f"name changed: {ar_name} -> {long_ar_name}")
ar.save()
except ApplicationRound.DoesNotExist: # create new ApplicationRound with long_ar_name
ar = ApplicationRound.objects.create(name=long_ar_name, description=challenge["text"])
created = True
if not ar.city:
ar.city = challenge["city"]
ar.save()
# ar, created = ApplicationRound.objects.get_or_create(name=ar_name, description=challenge["text"])
print(ar, created)
# Create CriterionGroup and Criterion objects
for score in challenge["scores"]:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Generated by Django 4.2.4 on 2023-11-01 09:03

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('application_evaluator', '0023_application_application_id'),
]

operations = [
migrations.AddField(
model_name='applicationround',
name='city',
field=models.CharField(blank=True, max_length=64),
),
migrations.AlterField(
model_name='application',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='applicationattachment',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='applicationattachmentimport',
name='application_round',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to='application_evaluator.applicationround'),
),
migrations.AlterField(
model_name='applicationimport',
name='application_round',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)ss', to='application_evaluator.applicationround'),
),
migrations.AlterField(
model_name='applicationround',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='applicationroundattachment',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='comment',
name='application',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to='application_evaluator.application'),
),
migrations.AlterField(
model_name='comment',
name='evaluator',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='criterion',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='criteriongroup',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='organization',
name='name',
field=models.CharField(max_length=250),
),
migrations.AlterField(
model_name='score',
name='application',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to='application_evaluator.application'),
),
migrations.AlterField(
model_name='score',
name='evaluator',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='%(class)ss', to=settings.AUTH_USER_MODEL),
),
]
Loading

0 comments on commit a0e2ad4

Please sign in to comment.