Skip to content

Commit

Permalink
Fixed issue with settings.LANGUAGES of the using project being reflec…
Browse files Browse the repository at this point in the history
…ted in the migration state this third party library

Also fixes `python src/manage.py makemigrations --check` and:

"Your models in app(s): 'mail_editor' have changes that are not yet reflected in a migration, and so won't be applied."
  • Loading branch information
Bart van der Schoor committed Apr 13, 2023
1 parent f99e5c4 commit 9892fdc
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 2 deletions.
9 changes: 8 additions & 1 deletion mail_editor/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from . import settings
from .forms import MailTemplateForm
from .models import MailTemplate

from django.conf import settings as django_settings

@admin.register(MailTemplate)
class MailTemplateAdmin(admin.ModelAdmin):
Expand Down Expand Up @@ -32,6 +32,13 @@ def get_fieldsets(self, request, obj=None):
]
return fieldset

def formfield_for_dbfield(self, db_field, request, **kwargs):
if db_field.name == "language":
# dynamically set choices and return a choice field
db_field.choices = django_settings.LANGUAGES
return self.formfield_for_choice_field(db_field, request, **kwargs)
return super().formfield_for_dbfield(db_field, request, **kwargs)

def get_type_display(self, obj):
conf = settings.TEMPLATES.get(obj.template_type)
return conf.get('name')
Expand Down
18 changes: 18 additions & 0 deletions mail_editor/migrations/0013_alter_mailtemplate_language.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.2.15 on 2023-04-13 09:06

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('mail_editor', '0012_auto_20230102_1549'),
]

operations = [
migrations.AlterField(
model_name='mailtemplate',
name='language',
field=models.CharField(blank=True, max_length=10, null=True),
),
]
2 changes: 1 addition & 1 deletion mail_editor/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def get_for_language(self, template_type, language):
class MailTemplate(models.Model):
internal_name = models.CharField(max_length=255, default="", blank=True)
template_type = models.CharField(_('type'), max_length=50)
language = models.CharField(max_length=10, choices=django_settings.LANGUAGES, blank=True, null=True)
language = models.CharField(max_length=10, blank=True, null=True)

remarks = models.TextField(_('remarks'), blank=True, default='', help_text=_('Extra information about the template'))
subject = models.CharField(_('subject'), max_length=255)
Expand Down

0 comments on commit 9892fdc

Please sign in to comment.