class Migration(migrations.Migration): dependencies = [ ('core', '0007_auto_20171004_1133'), ('course_metadata', '0070_auto_20171127_1057'), ] operations = [ migrations.CreateModel( name='Topic', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, verbose_name='UUID')), ('banner_image_url', models.URLField(blank=True, null=True)), ('slug', django_extensions.db.fields.AutoSlugField(blank=True, editable=False, help_text='Leave this field blank to have the value generated automatically.', populate_from='name')), ('partner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Partner')), ], bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='TopicTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.CharField(max_length=255)), ('subtitle', models.CharField(blank=True, max_length=255, null=True)), ('description', models.TextField(blank=True, null=True)), ('long_description', models.TextField(blank=True, null=True)), ('master', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='course_metadata.Topic')), ], options={ 'verbose_name': 'Topic model translations', }, ), migrations.AlterUniqueTogether( name='topictranslation', unique_together=set([('language_code', 'master')]), ), migrations.AlterUniqueTogether( name='topic', unique_together=set([('partner', 'uuid'), ('partner', 'slug')]), ), ]
class Migration(migrations.Migration): dependencies = [ ('shuup', '0009_update_tax_name_max_length'), ('shuup_simple_cms', '0001_initial'), ('filer', '0002_auto_20150606_2003'), ] operations = [ migrations.CreateModel( name='Carousel', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')), ('name', models.CharField(help_text='Name is only used to configure carousels.', max_length=50, verbose_name='name')), ('animation', enumfields.fields.EnumIntegerField(help_text='Animation type for cycling slides.', enum=shuup.front.apps.carousel.models.CarouselMode, verbose_name='animation', default=0)), ('interval', models.IntegerField(help_text='Slide interval in seconds.', verbose_name='interval', default=5)), ('pause_on_hover', models.BooleanField(help_text='Pauses the cycling of the carousel on mouse over.', verbose_name='pause on hover', default=True)), ('is_arrows_visible', models.BooleanField(verbose_name='show navigation arrows', default=True)), ('use_dot_navigation', models.BooleanField(verbose_name='show navigation dots', default=True)), ('image_width', models.IntegerField(help_text='Slide images will be cropped to this width.', verbose_name='image width', default=1200)), ('image_height', models.IntegerField(help_text='Slide images will be cropped to this height.', verbose_name='image height', default=600)), ], options={ 'verbose_name': 'Carousel', 'verbose_name_plural': 'Carousels', }, ), migrations.CreateModel( name='Slide', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')), ('name', models.CharField(help_text='Name is only used to configure slides.', blank=True, max_length=50, verbose_name='name', null=True)), ('ordering', models.IntegerField(verbose_name='ordering', blank=True, default=0, null=True)), ('target', enumfields.fields.EnumIntegerField(verbose_name='link target', enum=shuup.front.apps.carousel.models.LinkTargetType, default=0)), ('available_from', models.DateTimeField(verbose_name='available from', blank=True, null=True)), ('available_to', models.DateTimeField(verbose_name='available to', blank=True, null=True)), ('carousel', models.ForeignKey(related_name='slides', to='carousel.Carousel', on_delete=models.CASCADE)), ('category_link', models.ForeignKey(to='shuup.Category', related_name='+', null=True, verbose_name='category link', blank=True, on_delete=models.CASCADE)), ('cms_page_link', models.ForeignKey(to='shuup_simple_cms.Page', related_name='+', null=True, verbose_name='cms page link', blank=True, on_delete=models.CASCADE)), ('product_link', models.ForeignKey(to='shuup.Product', related_name='+', null=True, verbose_name='product link', blank=True, on_delete=models.CASCADE)), ], options={ 'ordering': ('ordering', 'id'), 'verbose_name': 'Slide', 'verbose_name_plural': 'Slides', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='SlideTranslation', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')), ('language_code', models.CharField(verbose_name='Language', max_length=15, db_index=True)), ('caption', models.CharField(verbose_name='caption', blank=True, max_length=80, null=True)), ('caption_text', models.TextField(help_text='When displayed in banner box mode, caption text is shown as a tooltip', blank=True, verbose_name='caption text', null=True)), ('external_link', models.CharField(verbose_name='external link', blank=True, max_length=160, null=True)), ('image', filer.fields.image.FilerImageField(on_delete=django.db.models.deletion.PROTECT, to='filer.Image', related_name='+', null=True, verbose_name='image', blank=True)), ('master', models.ForeignKey(editable=False, related_name='translations', null=True, to='carousel.Slide', on_delete=models.CASCADE)), ], options={ 'managed': True, 'db_tablespace': '', 'db_table': 'carousel_slide_translation', 'default_permissions': (), 'verbose_name': 'Slide Translation', }, ), migrations.AlterUniqueTogether( name='slidetranslation', unique_together=set([('language_code', 'master')]), ), ]
class Migration(migrations.Migration): dependencies = [ ("publicbody", "0038_foilaw_scale_of_fees"), migrations.swappable_dependency(settings.FILINGCABINET_DOCUMENT_MODEL), ("froide_legalaction", "0012_remove_moved_lawsuit_fields"), ] operations = [ migrations.CreateModel( name="LegalDecisionTag", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ], options={ "abstract": False, }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name="LegalDecisionType", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ], options={ "verbose_name": "Legal Decision Type", "verbose_name_plural": "Legal Decision Types", }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name="LegalDecision", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("date", models.DateField(blank=True, null=True)), ("outcome", models.CharField(max_length=500, blank=True)), ("reference", models.CharField(max_length=200)), ("paragraphs", models.JSONField(default=list, blank=True, null=True)), ("source_data", models.JSONField(blank=True, null=True)), ( "foi_court", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to="publicbody.publicbody", ), ), ( "foi_document", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.FILINGCABINET_DOCUMENT_MODEL, ), ), ( "foi_law", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to="publicbody.foilaw", ), ), ( "foi_lawsuit", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to="froide_legalaction.lawsuit", ), ), ( "tags", models.ManyToManyField( blank=True, to="froide_legalaction.LegalDecisionTag" ), ), ( "type", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to="froide_legalaction.legaldecisiontype", ), ), ], options={ "abstract": False, }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name="LegalDecisionTypeTranslation", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "language_code", models.CharField( db_index=True, max_length=15, verbose_name="Language" ), ), ("title", models.CharField(max_length=255, verbose_name="title")), ( "slug", models.SlugField( max_length=255, verbose_name="slug", ), ), ( "master", parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="translations", to="froide_legalaction.legaldecisiontype", ), ), ], options={ "verbose_name": "Legal Decision Type Translation", "db_table": "froide_legalaction_legaldecisiontype_translation", "db_tablespace": "", "managed": True, "default_permissions": (), "unique_together": {("language_code", "master")}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), migrations.CreateModel( name="LegalDecisionTranslation", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "language_code", models.CharField( db_index=True, max_length=15, verbose_name="Language" ), ), ("abstract", models.TextField(blank=True)), ("fulltext", models.TextField(blank=True)), ("court", models.CharField(blank=True, max_length=500)), ("law", models.CharField(blank=True, max_length=500)), ( "master", parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="translations", to="froide_legalaction.legaldecision", ), ), ], options={ "verbose_name": "legal decision Translation", "db_table": "froide_legalaction_legaldecision_translation", "db_tablespace": "", "managed": True, "default_permissions": (), "unique_together": {("language_code", "master")}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), migrations.CreateModel( name="LegalDecisionTagTranslation", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "language_code", models.CharField( db_index=True, max_length=15, verbose_name="Language" ), ), ("name", models.CharField(max_length=100, verbose_name="name")), ("slug", models.SlugField(max_length=100, verbose_name="slug")), ( "master", parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="translations", to="froide_legalaction.legaldecisiontag", ), ), ], options={ "verbose_name": "legal decision tag Translation", "db_table": "froide_legalaction_legaldecisiontag_translation", "db_tablespace": "", "managed": True, "default_permissions": (), "unique_together": {("language_code", "master")}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), ]
class Migration(migrations.Migration): replaces = [ ('carousel', '0001_initial'), ('carousel', '0002_alter_names'), ] dependencies = [ ('filer', '0002_auto_20150606_2003'), ('E-Commerce_simple_cms', '0001_initial'), ('E-Commerce', '0001_squashed_0039_alter_names'), ] operations = [ migrations.CreateModel( name='Carousel', fields=[ ('id', models.AutoField( serialize=False, verbose_name='ID', auto_created=True, primary_key=True)), ('name', models.CharField( max_length=50, verbose_name='name', help_text='Name is only used to configure carousels.')), ('animation', enumfields.fields.EnumIntegerField( default=0, verbose_name='animation', help_text='Animation type for cycling slides.', enum=E-Commerce.front.apps.carousel.models.CarouselMode)), ('interval', models.IntegerField( default=5, verbose_name='interval', help_text='Slide interval in seconds.')), ('pause_on_hover', models.BooleanField( default=True, verbose_name='pause on hover', help_text=( 'Pauses the cycling of the carousel on mouse over.'))), ('is_arrows_visible', models.BooleanField( default=True, verbose_name='show navigation arrows')), ('use_dot_navigation', models.BooleanField( default=True, verbose_name='show navigation dots')), ('image_width', models.IntegerField( default=1200, verbose_name='image width', help_text='Slide images will be cropped to this width.')), ('image_height', models.IntegerField( default=600, verbose_name='image height', help_text='Slide images will be cropped to this height.')), ], options={ 'verbose_name_plural': 'Carousels', 'verbose_name': 'Carousel', }), migrations.CreateModel( name='Slide', fields=[ ('id', models.AutoField( serialize=False, verbose_name='ID', auto_created=True, primary_key=True)), ('name', models.CharField( null=True, max_length=50, verbose_name='name', help_text='Name is only used to configure slides.', blank=True)), ('ordering', models.IntegerField( null=True, default=0, verbose_name='ordering', blank=True)), ('target', enumfields.fields.EnumIntegerField( default=0, verbose_name='link target', enum=E-Commerce.front.apps.carousel.models.LinkTargetType)), ('available_from', models.DateTimeField( null=True, verbose_name='available from', blank=True)), ('available_to', models.DateTimeField( null=True, verbose_name='available to', blank=True)), ('carousel', models.ForeignKey( related_name='slides', to='carousel.Carousel')), ('category_link', models.ForeignKey( null=True, verbose_name='category link', related_name='+', to='E-Commerce.Category', blank=True)), ('cms_page_link', models.ForeignKey( null=True, verbose_name='cms page link', related_name='+', to='E-Commerce_simple_cms.Page', blank=True)), ('product_link', models.ForeignKey( null=True, verbose_name='product link', related_name='+', to='E-Commerce.Product', blank=True)), ], options={ 'verbose_name_plural': 'Slides', 'verbose_name': 'Slide', 'ordering': ('ordering', 'id'), }, bases=(parler.models.TranslatableModelMixin, models.Model)), migrations.CreateModel( name='SlideTranslation', fields=[ ('id', models.AutoField( serialize=False, verbose_name='ID', auto_created=True, primary_key=True)), ('language_code', models.CharField( max_length=15, verbose_name='Language', db_index=True)), ('caption', models.CharField( null=True, max_length=80, verbose_name='caption', blank=True)), ('caption_text', models.TextField( null=True, verbose_name='caption text', help_text=( 'When displayed in banner box mode, ' 'caption text is shown as a tooltip'), blank=True)), ('external_link', models.CharField( null=True, max_length=160, verbose_name='external link', blank=True)), ('image', filer.fields.image.FilerImageField( null=True, verbose_name='image', related_name='+', on_delete=django.db.models.deletion.PROTECT, to='filer.Image', blank=True)), ('master', models.ForeignKey( editable=False, null=True, related_name='translations', to='carousel.Slide')), ], options={ 'db_tablespace': '', 'verbose_name': 'Slide Translation', 'managed': True, 'default_permissions': (), 'db_table': 'carousel_slide_translation', }), migrations.AlterUniqueTogether( name='slidetranslation', unique_together=set([('language_code', 'master')]), ), migrations.AlterField( model_name='carousel', name='is_arrows_visible', field=models.BooleanField( default=True, verbose_name='show navigation arrows', help_text=( 'When checked, navigational arrows are shown on the ' 'carousel allowing for customers to go back and forward.') )), migrations.AlterField( model_name='carousel', name='name', field=models.CharField( max_length=50, verbose_name='name', help_text='The carousel name use for carousel configuration.'), ), migrations.AlterField( model_name='carousel', name='pause_on_hover', field=models.BooleanField( default=True, verbose_name='pause on hover', help_text=( 'When checked, the carousel cycling pauses ' 'on mouse over.'))), migrations.AlterField( model_name='carousel', name='use_dot_navigation', field=models.BooleanField( default=True, verbose_name='show navigation dots', help_text=( 'When checked, navigational indicator dots are shown.') )), migrations.AlterField( model_name='slide', name='available_from', field=models.DateTimeField( null=True, verbose_name='available from', help_text=( 'Set the date and time from which this slide should be ' 'visible in the carousel. This is useful to advertise ' 'sales campaigns or other time-sensitive marketing.'), blank=True)), migrations.AlterField( model_name='slide', name='available_to', field=models.DateTimeField( null=True, verbose_name='available to', help_text=( 'Set the date and time from which this slide should be ' 'visible in the carousel. This is useful to advertise ' 'sales campaigns or other time-sensitive marketing.'), blank=True)), migrations.AlterField( model_name='slide', name='category_link', field=models.ForeignKey( null=True, verbose_name='category link', related_name='+', help_text=( 'Set the product category page that should be shown ' 'when this slide is clicked, if any.'), to='E-Commerce.Category', blank=True)), migrations.AlterField( model_name='slide', name='cms_page_link', field=models.ForeignKey( null=True, verbose_name='cms page link', related_name='+', help_text=( 'Set the web page that should be shown when the slide ' 'is clicked, if any.'), to='E-Commerce_simple_cms.Page', blank=True)), migrations.AlterField( model_name='slide', name='ordering', field=models.IntegerField( null=True, default=0, verbose_name='ordering', help_text=( 'Set the numeric order in which this slide should ' 'appear relative to other slides in this carousel.'), blank=True)), migrations.AlterField( model_name='slide', name='product_link', field=models.ForeignKey( null=True, verbose_name='product link', related_name='+', help_text=( 'Set the product detail page that should be shown ' 'when this slide is clicked, if any.'), to='E-Commerce.Product', blank=True)), migrations.AlterField( model_name='slide', name='target', field=enumfields.fields.EnumIntegerField( default=0, verbose_name='link target', help_text=( 'Set this to current if clicking on this slide ' 'should open a new browser tab.'), enum=E-Commerce.front.apps.carousel.models.LinkTargetType)), migrations.AlterField( model_name='slidetranslation', name='caption', field=models.CharField( null=True, max_length=80, verbose_name='caption', help_text=( 'Text that describes the image. Used for search ' 'engine purposes.'), blank=True)), migrations.AlterField( model_name='slidetranslation', name='external_link', field=models.CharField( null=True, max_length=160, verbose_name='external link', help_text=( 'Set the external site that should be shown when ' 'this slide is clicked, if any.'), blank=True)), migrations.AlterField( model_name='slidetranslation', name='image', field=filer.fields.image.FilerImageField( null=True, verbose_name='image', related_name='+', help_text='The slide image to show.', on_delete=django.db.models.deletion.PROTECT, to='filer.Image', blank=True)), ]
class Migration(migrations.Migration): replaces = [ ('shuup_simple_cms', '0001_initial'), ('shuup_simple_cms', '0002_md_to_html'), ('shuup_simple_cms', '0003_alter_names'), ] dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Page', fields=[ ('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')), ('available_from', models.DateTimeField(null=True, blank=True, verbose_name='available from')), ('available_to', models.DateTimeField(null=True, blank=True, verbose_name='available to')), ('created_on', models.DateTimeField(auto_now_add=True, verbose_name='created on')), ('modified_on', models.DateTimeField(auto_now=True, verbose_name='modified on')), ('identifier', shuup.core.fields.InternalIdentifierField(editable=False, blank=True, unique=True, null=True, max_length=64)), ('visible_in_menu', models.BooleanField(default=False, verbose_name='visible in menu')), ('list_children_on_page', models.BooleanField(default=False, verbose_name='list children on page')), ('lft', models.PositiveIntegerField(db_index=True, editable=False)), ('rght', models.PositiveIntegerField(db_index=True, editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(db_index=True, editable=False)), ('created_by', models.ForeignKey( on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, verbose_name='created by', null=True, related_name='+')), ('modified_by', models.ForeignKey( on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, verbose_name='modified by', null=True, related_name='+')), ('parent', mptt.fields.TreeForeignKey(blank=True, to='shuup_simple_cms.Page', verbose_name='parent', null=True, related_name='children', on_delete=models.CASCADE)), ], options={ 'verbose_name_plural': 'pages', 'ordering': ('-id', ), 'verbose_name': 'page', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='PageTranslation', fields=[ ('id', models.AutoField(auto_created=True, serialize=False, primary_key=True, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('title', models.CharField(max_length=256, verbose_name='title')), ('url', models.CharField(blank=True, default=None, verbose_name='URL', null=True, max_length=100, unique=True)), ('content', models.TextField(verbose_name='content')), ('master', models.ForeignKey(editable=False, to='shuup_simple_cms.Page', null=True, related_name='translations', on_delete=models.CASCADE)), ], options={ 'default_permissions': (), 'db_tablespace': '', 'db_table': 'shuup_simple_cms_page_translation', 'managed': True, 'verbose_name': 'page Translation', }, ), migrations.AlterUniqueTogether(name='pagetranslation', unique_together=set([('language_code', 'master')])), migrations.AlterField( model_name='page', name='available_from', field=models.DateTimeField( null=True, blank=True, help_text=( 'Set an available from date to restrict the page to ' 'be available only after a certain date and time. This ' 'is useful for pages describing sales campaigns or other ' 'time-sensitive pages.'), verbose_name='available from')), migrations.AlterField( model_name='page', name='available_to', field=models.DateTimeField( null=True, blank=True, help_text=( 'Set an available to date to restrict the page to be ' 'available only after a certain date and time. This is ' 'useful for pages describing sales campaigns or other ' 'time-sensitive pages.'), verbose_name='available to')), migrations.AlterField( model_name='page', name='list_children_on_page', field=models.BooleanField(help_text=( 'Check this if this page should list its children pages.'), default=False, verbose_name='list children on page'), ), migrations.AlterField( model_name='page', name='parent', field=mptt.fields.TreeForeignKey( blank=True, to='shuup_simple_cms.Page', verbose_name='parent', null=True, related_name='children', on_delete=models.CASCADE, help_text=('Set this to a parent page if this page should be ' 'subcategorized under another page.'))), migrations.AlterField( model_name='page', name='visible_in_menu', field=models.BooleanField(help_text=( 'Check this if this page should have a link in the top ' 'menu of the store front.'), default=False, verbose_name='visible in menu'), ), migrations.AlterField( model_name='pagetranslation', name='content', field=models.TextField(help_text=( 'The page content. This is the text that is displayed ' 'when customers click on your page link.'), verbose_name='content'), ), migrations.AlterField( model_name='pagetranslation', name='title', field=models.CharField( max_length=256, help_text=( 'The page title. This is shown anywhere links to your ' 'page are shown.'), verbose_name='title'), ), migrations.AlterField( model_name='pagetranslation', name='url', field=models.CharField( blank=True, default=None, verbose_name='URL', null=True, max_length=100, help_text=( 'The page url. Choose a descriptive url so that search ' 'engines can rank your page higher. Often the best url is ' 'simply the page title with spaces replaced with dashes.'), unique=True), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name="NotificationTemplate", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "type", models.CharField(max_length=50, unique=True, verbose_name="type"), ), ], options={ "verbose_name": "notification", "verbose_name_plural": "notifications", }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name="NotificationTemplateTranslation", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "language_code", models.CharField( db_index=True, max_length=15, verbose_name="Language" ), ), ("subject", models.CharField(max_length=255, verbose_name="subject")), ( "body_html", models.TextField(blank=True, verbose_name="body, HTML version"), ), ( "body_text", models.TextField( blank=True, help_text="If left blank, the HTML version without HTML tags will be used.", verbose_name="body, plain text version", ), ), ( "master", models.ForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="translations", to="django_ilmoitin.NotificationTemplate", ), ), ], options={ "verbose_name": "notification Translation", "db_table": "django_ilmoitin_notificationtemplate_translation", "db_tablespace": "", "managed": True, "default_permissions": (), }, ), migrations.AlterUniqueTogether( name="notificationtemplatetranslation", unique_together={("language_code", "master")}, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('image', models.ImageField(blank=True, null=True, upload_to='blog', verbose_name='Imagen')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Fecha de creación')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Fecha de edición')), ], options={ 'verbose_name': 'categoría', 'verbose_name_plural': 'categorías', 'ordering': ['-created'], }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='Post', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('published', models.DateTimeField(default=django.utils.timezone.now, verbose_name='Fecha de publicación')), ('image', models.ImageField(blank=True, null=True, upload_to='blog', verbose_name='Imagen')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Fecha de creación')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Fecha de edición')), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Autor')), ('categories', models.ManyToManyField(to='blog.Category', verbose_name='Categorías')), ], options={ 'verbose_name': 'entrada', 'verbose_name_plural': 'entradas', 'ordering': ['-created'], }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='PostTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('title', models.CharField(max_length=200, verbose_name='Título')), ('content', models.TextField(verbose_name='Contenido')), ('master', parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='blog.Post')), ], options={ 'verbose_name': 'entrada Translation', 'db_table': 'blog_post_translation', 'db_tablespace': '', 'managed': True, 'default_permissions': (), 'unique_together': {('language_code', 'master')}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), migrations.CreateModel( name='CategoryTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.CharField(max_length=100, verbose_name='Nombre')), ('master', parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='blog.Category')), ], options={ 'verbose_name': 'categoría Translation', 'db_table': 'blog_category_translation', 'db_tablespace': '', 'managed': True, 'default_permissions': (), 'unique_together': {('language_code', 'master')}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('shuup', '0045_disable_default_marketing_permission'), ] operations = [ migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=60, verbose_name='name')), ('status', enumfields.fields.EnumIntegerField( default=1, enum=shuup.tasks.models.TaskStatus, verbose_name='status')), ('priority', models.PositiveIntegerField(db_index=True, default=0, verbose_name='priority')), ('completed_on', models.DateTimeField(blank=True, null=True, verbose_name='completed on')), ('created_on', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='created on')), ('modified_on', models.DateTimeField(auto_now=True, db_index=True, verbose_name='modified on')), ('assigned_to', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='assigned_tasks', to='shuup.Contact', verbose_name='assigned to')), ('completed_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='completed_tasks', to='shuup.Contact', verbose_name='completed by')), ('creator', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='creted_tasks', to='shuup.Contact', verbose_name='creator')), ('shop', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='shuup.Shop', verbose_name='shop')), ], ), migrations.CreateModel( name='TaskComment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('visibility', enumfields.fields.EnumIntegerField( db_index=True, default=1, enum=shuup.tasks.models.TaskCommentVisibility, verbose_name='visibility')), ('body', models.TextField(verbose_name='body')), ('created_on', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='created on')), ('modified_on', models.DateTimeField(auto_now=True, db_index=True, verbose_name='modified on')), ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='task_comments', to='shuup.Contact', verbose_name='author')), ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='shuup_tasks.Task', verbose_name='task')), ], ), migrations.CreateModel( name='TaskLogEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_on', models.DateTimeField(auto_now_add=True, verbose_name='created on')), ('message', models.CharField(max_length=256, verbose_name='message')), ('identifier', models.CharField(blank=True, max_length=64, verbose_name='identifier')), ('kind', enumfields.fields.EnumIntegerField( default=0, enum=shuup.utils.analog.LogEntryKind, verbose_name='log entry kind')), ('extra', jsonfield.fields.JSONField(blank=True, null=True, verbose_name='extra data')), ('target', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='log_entries', to='shuup_tasks.Task', verbose_name='target')), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='user')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='TaskType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('identifier', shuup.core.fields.InternalIdentifierField(blank=True, editable=False, max_length=64, null=True, unique=False)), ('shop', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='task_types', to='shuup.Shop', verbose_name='shop')), ], options={ 'verbose_name': 'task type', 'verbose_name_plural': 'task types', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='TaskTypeTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.TextField(verbose_name='name')), ('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shuup_tasks.TaskType')), ], options={ 'db_tablespace': '', 'managed': True, 'default_permissions': (), 'verbose_name': 'task type Translation', 'db_table': 'shuup_tasks_tasktype_translation', }, ), migrations.AddField( model_name='task', name='type', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='shuup_tasks.TaskType', verbose_name='task type'), ), migrations.AlterUniqueTogether( name='tasktypetranslation', unique_together=set([('language_code', 'master')]), ), migrations.AlterUniqueTogether( name='tasktype', unique_together=set([('shop', 'identifier')]), ), ]
class Migration(migrations.Migration): dependencies = [ ('shuup', '0051_supplier_enabled'), ] operations = [ migrations.CreateModel( name='Label', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('identifier', shuup.core.fields.InternalIdentifierField(blank=True, editable=False, max_length=128, null=True, unique=True)), ('created_on', models.DateTimeField(auto_now_add=True, verbose_name='created on')), ('modified_on', models.DateTimeField(auto_now=True, db_index=True, verbose_name='modified on')), ], options={ 'verbose_name': 'label', 'verbose_name_plural': 'labels', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='LabelTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.CharField(max_length=64, verbose_name='name')), ('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shuup.Label')), ], options={ 'verbose_name': 'label Translation', 'db_table': 'shuup_label_translation', 'db_tablespace': '', 'managed': True, 'default_permissions': (), }, ), migrations.AddField( model_name='shoptranslation', name='description', field=models.TextField( blank=True, help_text= 'To make your shop stand out, give it an awesome description. This is what will help your shoppers learn about your shop. It will also help shoppers find your store from the web.', verbose_name='description'), ), migrations.AddField( model_name='shoptranslation', name='short_description', field=models.CharField( blank=True, help_text= 'Enter a short description for your shop. The short description will be used to get the attention of your customer with a small but precise description of your shop.', max_length=150, verbose_name='short description'), ), migrations.AddField( model_name='paymentmethod', name='labels', field=models.ManyToManyField(blank=True, to='shuup.Label', verbose_name='labels'), ), migrations.AddField( model_name='shippingmethod', name='labels', field=models.ManyToManyField(blank=True, to='shuup.Label', verbose_name='labels'), ), migrations.AddField( model_name='shop', name='labels', field=models.ManyToManyField(blank=True, related_name='shops', to='shuup.Label', verbose_name='labels'), ), migrations.AlterUniqueTogether( name='labeltranslation', unique_together=set([('language_code', 'master')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('shuup_simple_cms', '0007_gdpr'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('shuup', '0044_add_media'), ] operations = [ migrations.CreateModel( name='GDPRCookieCategory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('always_active', models.BooleanField(default=False, verbose_name='always active')), ('cookies', models.TextField( help_text= 'Comma separated list of cookies names, prefix or suffix that will be included in this category, e.g. _ga, mysession, user_c_', verbose_name='cookies used')), ('shop', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='gdpr_cookie_categories', to='shuup.Shop')), ], options={ 'verbose_name': 'gdpr cookie category', 'verbose_name_plural': 'gdpr cookie categories', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='GDPRCookieCategoryTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.CharField(max_length=64, verbose_name='name')), ('how_is_used', models.TextField( blank=True, help_text= 'Describe the purpose of this category of cookies and how it is used.', verbose_name='how we use')), ('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shuup_gdpr.GDPRCookieCategory')), ], options={ 'db_tablespace': '', 'default_permissions': (), 'verbose_name': 'gdpr cookie category Translation', 'managed': True, 'db_table': 'shuup_gdpr_gdprcookiecategory_translation', }, ), migrations.CreateModel( name='GDPRSettings', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('enabled', models.BooleanField(default=False, help_text='Define if the GDPR is active.', verbose_name='enabled')), ('shop', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name='gdpr_settings', to='shuup.Shop')), ], options={ 'verbose_name': 'gdpr settings', 'verbose_name_plural': 'gdpr settings', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='GDPRSettingsTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('cookie_banner_content', models.TextField( blank=True, help_text= 'The text to be presented to users in a pop-up warning.', verbose_name='cookie banner content')), ('cookie_privacy_excerpt', models.TextField( blank=True, help_text= 'The summary text to be presented about cookie privacy.', verbose_name='cookie privacy excerpt')), ('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shuup_gdpr.GDPRSettings')), ], options={ 'db_tablespace': '', 'default_permissions': (), 'verbose_name': 'gdpr settings Translation', 'managed': True, 'db_table': 'shuup_gdpr_gdprsettings_translation', }, ), migrations.CreateModel( name='GDPRUserConsent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_on', models.DateTimeField(auto_now_add=True, verbose_name='created on', db_index=True)), ('documents', models.ManyToManyField(blank=True, editable=False, to='shuup_simple_cms.Page', verbose_name='consent documents')), ('shop', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='gdpr_consents', to='shuup.Shop')), ('user', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.PROTECT, related_name='gdpr_consents', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'gdpr user consent', 'verbose_name_plural': 'gdpr user consents', }, ), migrations.AlterUniqueTogether( name='gdprsettingstranslation', unique_together=set([('language_code', 'master')]), ), migrations.AlterUniqueTogether( name='gdprcookiecategorytranslation', unique_together=set([('language_code', 'master')]), ), ]
class Migration(migrations.Migration): dependencies = [ ('shop', '0001_initial'), ] operations = [ migrations.AlterModelOptions( name='category', options={ 'verbose_name': 'category', 'verbose_name_plural': 'categories' }, ), migrations.AlterModelOptions( name='product', options={}, ), migrations.RemoveField( model_name='category', name='name', ), migrations.RemoveField( model_name='category', name='slug', ), migrations.AlterIndexTogether( name='product', index_together=set(), ), migrations.RemoveField( model_name='product', name='description', ), migrations.RemoveField( model_name='product', name='name', ), migrations.RemoveField( model_name='product', name='slug', ), migrations.CreateModel( name='ProductTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.CharField(db_index=True, max_length=200)), ('slug', models.SlugField(max_length=200)), ('description', models.TextField(blank=True)), ('master', parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shop.Product')), ], options={ 'verbose_name': 'product Translation', 'db_table': 'shop_product_translation', 'db_tablespace': '', 'managed': True, 'default_permissions': (), 'unique_together': {('language_code', 'master')}, }, bases=(parler.models.TranslatableModel, models.Model), ), migrations.CreateModel( name='CategoryTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('name', models.CharField(db_index=True, max_length=200)), ('slug', models.SlugField(max_length=200, unique=True)), ('master', parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shop.Category')), ], options={ 'verbose_name': 'category Translation', 'db_table': 'shop_category_translation', 'db_tablespace': '', 'managed': True, 'default_permissions': (), 'unique_together': {('language_code', 'master')}, }, bases=(parler.models.TranslatableModel, models.Model), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.FILER_IMAGE_MODEL), ('shuup_simple_cms', '0010_add_render_title_and_template_name'), ] operations = [ migrations.CreateModel( name='PageOpenGraph', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('og_type', enumfields.fields.EnumField( default='website', enum=shuup.simple_cms.models.PageOpenGraphType, max_length=10, verbose_name='type')), ('image', filer.fields.image.FilerImageField( blank=True, help_text='The image of your object.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blog_meta_image', to=settings.FILER_IMAGE_MODEL, verbose_name='Image')), ], options={ 'abstract': False, }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='PageOpenGraphTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('title', models.CharField( blank=True, help_text= 'The title of your object as it should appear within the graph, e.g. The Rock.', max_length=100, verbose_name='Title')), ('description', models.TextField( blank=True, help_text= 'A one to two sentence description of your object.', max_length=160, verbose_name='Description')), ('section', models.CharField( blank=True, help_text= 'A high-level section name, e.g. Technology. Only applicable when type is Article.', max_length=256, verbose_name='Section')), ('tags', models.CharField( blank=True, help_text= 'Tag words associated with this article. Only applicable when type is Article.', max_length=256, verbose_name='Tags')), ('article_author', models.CharField( blank=True, help_text= 'The name of the author for the article. Only applicable when type is Article.', max_length=100, verbose_name='Article author')), ('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='shuup_simple_cms.PageOpenGraph')), ], options={ 'verbose_name': 'page open graph Translation', 'db_table': 'shuup_simple_cms_pageopengraph_translation', 'db_tablespace': '', 'managed': True, 'default_permissions': (), }, ), migrations.AlterField( model_name='page', name='available_from', field=models.DateTimeField( blank=True, db_index=True, help_text= 'Set an available from date to restrict the page to be available only after a certain date and time. This is useful for pages describing sales campaigns or other time-sensitive pages.', null=True, verbose_name='available from'), ), migrations.AlterField( model_name='page', name='available_to', field=models.DateTimeField( blank=True, db_index=True, help_text= 'Set an available to date to restrict the page to be available only after a certain date and time. This is useful for pages describing sales campaigns or other time-sensitive pages.', null=True, verbose_name='available to'), ), migrations.AddField( model_name='pageopengraph', name='page', field=models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name='open_graph', to='shuup_simple_cms.Page', verbose_name='page'), ), migrations.AlterUniqueTogether( name='pageopengraphtranslation', unique_together=set([('language_code', 'master')]), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Page', fields=[ ('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)), ('available_from', models.DateTimeField(blank=True, verbose_name='available from', null=True)), ('available_to', models.DateTimeField(blank=True, verbose_name='available to', null=True)), ('created_on', models.DateTimeField(verbose_name='created on', auto_now_add=True)), ('modified_on', models.DateTimeField(verbose_name='modified on', auto_now=True)), ('identifier', shuup.core.fields.InternalIdentifierField(max_length=64, null=True, unique=True, editable=False, blank=True)), ('visible_in_menu', models.BooleanField(verbose_name='visible in menu', default=False)), ('list_children_on_page', models.BooleanField(verbose_name='list children on page', default=False)), ('lft', models.PositiveIntegerField(editable=False, db_index=True)), ('rght', models.PositiveIntegerField(editable=False, db_index=True)), ('tree_id', models.PositiveIntegerField(editable=False, db_index=True)), ('level', models.PositiveIntegerField(editable=False, db_index=True)), ('created_by', models.ForeignKey( blank=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, null=True, verbose_name='created by')), ('modified_by', models.ForeignKey( blank=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, null=True, verbose_name='modified by')), ('parent', mptt.fields.TreeForeignKey(blank=True, on_delete=models.CASCADE, related_name='children', to='shuup_simple_cms.Page', null=True, verbose_name='parent')), ], options={ 'verbose_name': 'page', 'ordering': ('-id', ), 'verbose_name_plural': 'pages', }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name='PageTranslation', fields=[ ('id', models.AutoField(serialize=False, verbose_name='ID', auto_created=True, primary_key=True)), ('language_code', models.CharField(db_index=True, max_length=15, verbose_name='Language')), ('title', models.CharField(max_length=256, verbose_name='title')), ('url', models.CharField(default=None, null=True, unique=True, verbose_name='URL', blank=True, max_length=100)), ('content', models.TextField(verbose_name='content')), ('master', models.ForeignKey(on_delete=models.CASCADE, related_name='translations', to='shuup_simple_cms.Page', null=True, editable=False)), ], options={ 'db_tablespace': '', 'default_permissions': (), 'verbose_name': 'page Translation', 'managed': True, 'db_table': 'shuup_simple_cms_page_translation', }, ), migrations.AlterUniqueTogether( name='pagetranslation', unique_together=set([('language_code', 'master')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name="Page", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "created_at", models.DateTimeField(auto_now_add=True, verbose_name="Created at"), ), ( "updated_at", models.DateTimeField(auto_now=True, verbose_name="Updated at"), ), ( "type", models.CharField( choices=[("HOME", "Home"), ("ANALYTICS", "Analytics")], max_length=254, verbose_name="Type", ), ), ], options={ "verbose_name": "Page", "verbose_name_plural": "Pages" }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name="PageSection", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "page", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="sections", to="pages.Page", ), ), ], options={ "verbose_name": "Page section", "verbose_name_plural": "Page sections", }, bases=(parler.models.TranslatableModelMixin, models.Model), ), migrations.CreateModel( name="PageTranslation", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "language_code", models.CharField(db_index=True, max_length=15, verbose_name="Language"), ), ("title", models.CharField(max_length=254, verbose_name="Title")), ( "slug", models.SlugField(max_length=254, unique=True, verbose_name="Slug"), ), ( "description", models.CharField(blank=True, max_length=1000, verbose_name="Description"), ), ( "background", models.FileField(upload_to="", verbose_name="Background image"), ), ( "master", parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="translations", to="pages.Page", ), ), ], options={ "verbose_name": "Page Translation", "db_table": "pages_page_translation", "db_tablespace": "", "managed": True, "default_permissions": (), "unique_together": {("language_code", "master")}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), migrations.CreateModel( name="PageSectionTranslation", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "language_code", models.CharField(db_index=True, max_length=15, verbose_name="Language"), ), ("image", models.FileField(upload_to="", verbose_name="Image")), ("text", models.TextField()), ( "image_position", models.CharField( choices=[("LEFT", "Left"), ("RIGHT", "Right")], default="RIGHT", max_length=254, verbose_name="Image position", ), ), ( "master", parler.fields.TranslationsForeignKey( editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="translations", to="pages.PageSection", ), ), ], options={ "verbose_name": "Page section Translation", "db_table": "pages_pagesection_translation", "db_tablespace": "", "managed": True, "default_permissions": (), "unique_together": {("language_code", "master")}, }, bases=(parler.models.TranslatedFieldsModelMixin, models.Model), ), ]