mirror of
https://github.com/jazzband/django-eav2.git
synced 2026-04-25 09:24:43 +00:00
patch migration, made tox check for missing migrations (#35)
Add tox for missing migrations; fix verbose names in models and migration
This commit is contained in:
parent
be0197d5f3
commit
5ba33e7e6e
4 changed files with 38 additions and 21 deletions
|
|
@ -19,14 +19,14 @@ class Migration(migrations.Migration):
|
|||
name='Attribute',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(help_text='User-friendly attribute name', max_length=100, verbose_name='name')),
|
||||
('slug', eav.fields.EavSlugField(help_text='Short unique attribute label', unique=True, verbose_name='slug')),
|
||||
('description', models.CharField(blank=True, help_text='Short description', max_length=256, null=True, verbose_name='description')),
|
||||
('datatype', eav.fields.EavDatatypeField(choices=[('text', 'Text'), ('float', 'Float'), ('int', 'Integer'), ('date', 'Date'), ('bool', 'True / False'), ('object', 'Django Object'), ('enum', 'Multiple Choice')], max_length=6, verbose_name='data type')),
|
||||
('created', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
|
||||
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
|
||||
('required', models.BooleanField(default=False, verbose_name='required')),
|
||||
('display_order', models.PositiveIntegerField(default=1, verbose_name='display order')),
|
||||
('name', models.CharField(help_text='User-friendly attribute name', max_length=100, verbose_name='Name')),
|
||||
('slug', eav.fields.EavSlugField(help_text='Short unique attribute label', unique=True, verbose_name='Slug')),
|
||||
('description', models.CharField(blank=True, help_text='Short description', max_length=256, null=True, verbose_name='Description')),
|
||||
('datatype', eav.fields.EavDatatypeField(choices=[('text', 'Text'), ('date', 'Date'), ('float', 'Float'), ('int', 'Integer'), ('bool', 'True / False'), ('object', 'Django Object'), ('enum', 'Multiple Choice')], max_length=6, verbose_name='Data Type')),
|
||||
('created', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Created')),
|
||||
('modified', models.DateTimeField(auto_now=True, verbose_name='Modified')),
|
||||
('required', models.BooleanField(default=False, verbose_name='Required')),
|
||||
('display_order', models.PositiveIntegerField(default=1, verbose_name='Display order')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['name'],
|
||||
|
|
@ -36,14 +36,14 @@ class Migration(migrations.Migration):
|
|||
name='EnumGroup',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100, unique=True, verbose_name='name')),
|
||||
('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='EnumValue',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('value', models.CharField(db_index=True, max_length=50, unique=True, verbose_name='value')),
|
||||
('value', models.CharField(db_index=True, max_length=50, unique=True, verbose_name='Value')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
|
|
@ -57,9 +57,9 @@ class Migration(migrations.Migration):
|
|||
('value_date', models.DateTimeField(blank=True, null=True)),
|
||||
('value_bool', models.NullBooleanField()),
|
||||
('generic_value_id', models.IntegerField(blank=True, null=True)),
|
||||
('created', models.DateTimeField(default=django.utils.timezone.now, verbose_name='created')),
|
||||
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
|
||||
('attribute', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='eav.Attribute', verbose_name='attribute')),
|
||||
('created', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Created')),
|
||||
('modified', models.DateTimeField(auto_now=True, verbose_name='Modified')),
|
||||
('attribute', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='eav.Attribute', verbose_name='Attribute')),
|
||||
('entity_ct', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='value_entities', to='contenttypes.ContentType')),
|
||||
('generic_value_ct', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='value_values', to='contenttypes.ContentType')),
|
||||
('value_enum', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='eav_values', to='eav.EnumValue')),
|
||||
|
|
@ -68,11 +68,11 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='enumgroup',
|
||||
name='values',
|
||||
field=models.ManyToManyField(to='eav.EnumValue', verbose_name='enum group'),
|
||||
field=models.ManyToManyField(to='eav.EnumValue', verbose_name='Enum group'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='attribute',
|
||||
name='enum_group',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='eav.EnumGroup', verbose_name='choice group'),
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='eav.EnumGroup', verbose_name='Choice Group'),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class EnumValue(models.Model):
|
|||
only have a total of four *EnumValues* objects, as you should have used
|
||||
the same *Yes* and *No* *EnumValues* for both *EnumGroups*.
|
||||
"""
|
||||
value = models.CharField(_('value'), db_index=True, unique=True, max_length=50)
|
||||
value = models.CharField(_('Value'), db_index=True, unique=True, max_length=50)
|
||||
|
||||
def __str__(self):
|
||||
return '<EnumValue {}>'.format(self.value)
|
||||
|
|
@ -65,8 +65,8 @@ class EnumGroup(models.Model):
|
|||
|
||||
See :class:`EnumValue` for an example.
|
||||
"""
|
||||
name = models.CharField(_('name'), unique = True, max_length = 100)
|
||||
values = models.ManyToManyField(EnumValue, verbose_name = _('enum group'))
|
||||
name = models.CharField(_('Name'), unique = True, max_length = 100)
|
||||
values = models.ManyToManyField(EnumValue, verbose_name = _('Enum group'))
|
||||
|
||||
def __str__(self):
|
||||
return '<EnumGroup {}>'.format(self.name)
|
||||
|
|
@ -395,7 +395,7 @@ class Value(models.Model):
|
|||
Attribute,
|
||||
db_index = True,
|
||||
on_delete = models.PROTECT,
|
||||
verbose_name = _('attribute')
|
||||
verbose_name = _('Attribute')
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ INSTALLED_APPS = [
|
|||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'TEST_NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||
'TEST_NAME': os.path.join(BASE_DIR, 'test_db.sqlite3'),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
18
tox.ini
18
tox.ini
|
|
@ -4,6 +4,7 @@ envlist =
|
|||
py35-django{111,20,tip},
|
||||
py36-django{111,20,tip},
|
||||
py37-django{111,20,tip},
|
||||
migrationscheck
|
||||
|
||||
[testenv]
|
||||
pip_pre=True
|
||||
|
|
@ -13,4 +14,19 @@ deps =
|
|||
django20: Django >= 2.0, <2.1
|
||||
djangotip: Django
|
||||
|
||||
commands = ./runtests
|
||||
commands =
|
||||
./runtests
|
||||
|
||||
[testenv:migrationscheck]
|
||||
pip_pre=True
|
||||
|
||||
deps =
|
||||
Django
|
||||
|
||||
setenv =
|
||||
DJANGO_SETTINGS_MODULE=tests.test_settings
|
||||
|
||||
# make test fail if missing migrations
|
||||
commands =
|
||||
django-admin makemigrations --check --dry-run
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue