added migrations and added migration wine colors

This commit is contained in:
Anatoly 2019-11-01 16:48:49 +03:00
parent e6f9e388aa
commit 4a38bec2a7
9 changed files with 224 additions and 23 deletions

View File

@ -21,5 +21,5 @@ class Migration(migrations.Migration):
] ]
operations = [ operations = [
migrations.RunPython(load_data_from_sql, revert_data), # migrations.RunPython(load_data_from_sql, revert_data),
] ]

View File

@ -0,0 +1,52 @@
# Generated by Django 2.2.4 on 2019-11-01 13:23
import django.contrib.gis.db.models.fields
from django.db import migrations, models
import utils.models
class Migration(migrations.Migration):
dependencies = [
('location', '0020_merge_20191030_1714'),
]
operations = [
migrations.CreateModel(
name='WineSubRegion',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='name')),
],
options={
'verbose_name': 'wine region',
'verbose_name_plural': 'wine regions',
},
),
migrations.CreateModel(
name='WineVillage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='name')),
('description', utils.models.TJSONField(help_text='{"en-GB":"some text"}', verbose_name='description')),
],
options={
'verbose_name': 'wine village',
'verbose_name_plural': 'wine villages',
},
),
migrations.RemoveField(
model_name='wineappellation',
name='wine_region',
),
migrations.AddField(
model_name='wineregion',
name='coordinates',
field=django.contrib.gis.db.models.fields.PointField(blank=True, default=None, null=True, srid=4326, verbose_name='Coordinates'),
),
migrations.AlterField(
model_name='wineregion',
name='name',
field=models.CharField(max_length=255, verbose_name='name'),
),
]

View File

@ -0,0 +1,33 @@
# Generated by Django 2.2.4 on 2019-11-01 13:23
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('product', '0003_auto_20191101_1323'),
('location', '0021_auto_20191101_1323'),
]
operations = [
migrations.DeleteModel(
name='WineAppellation',
),
migrations.AddField(
model_name='winevillage',
name='wine_region',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='location.WineRegion', verbose_name='wine region'),
),
migrations.AddField(
model_name='winevillage',
name='wine_sub_region',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='location.WineSubRegion', verbose_name='wine sub region'),
),
migrations.AddField(
model_name='winesubregion',
name='country',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='location.Country', verbose_name='country'),
),
]

View File

@ -0,0 +1,106 @@
# Generated by Django 2.2.4 on 2019-11-01 13:23
import django.contrib.gis.db.models.fields
from django.db import migrations, models
import django.db.models.deletion
import utils.models
class Migration(migrations.Migration):
dependencies = [
('location', '0021_auto_20191101_1323'),
('product', '0002_product_slug'),
]
operations = [
migrations.CreateModel(
name='Characteristic',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', utils.models.TJSONField(blank=True, help_text='{"en-GB":"some text"}', null=True, verbose_name='name')),
('value', models.CharField(blank=True, max_length=255, null=True, verbose_name='value')),
('priority', models.IntegerField(default=None, null=True, unique=True)),
],
options={
'verbose_name': 'characteristic',
'verbose_name_plural': 'characteristics',
},
bases=(utils.models.TranslatedFieldsMixin, models.Model),
),
migrations.CreateModel(
name='Unit',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='name')),
('value', models.CharField(max_length=255, verbose_name='value')),
],
options={
'verbose_name': 'unit',
'verbose_name_plural': 'units',
},
),
migrations.CreateModel(
name='WineStandard',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='name')),
('standard_type', models.CharField(choices=[('Appellation', 'Appellation'), ('Classification', 'Classification'), ('WineQuality', 'Wine quality'), ('YardClassification', 'Yard classification')], max_length=30, verbose_name='standard type')),
('coordinates', django.contrib.gis.db.models.fields.PointField(blank=True, default=None, null=True, srid=4326, verbose_name='Coordinates')),
],
options={
'verbose_name': 'wine standard',
'verbose_name_plural': 'wine standards',
},
),
migrations.RemoveField(
model_name='product',
name='wine_appellation',
),
migrations.AddField(
model_name='product',
name='wine_village',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='location.WineVillage', verbose_name='wine appellation'),
),
migrations.RemoveField(
model_name='product',
name='characteristics',
),
migrations.AlterField(
model_name='product',
name='establishment',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='products', to='establishment.Establishment', verbose_name='establishment'),
),
migrations.AlterField(
model_name='product',
name='name',
field=models.CharField(default=None, max_length=255, null=True, verbose_name='name'),
),
migrations.AlterField(
model_name='productsubtype',
name='index_name',
field=models.CharField(choices=[('rum', 'Rum'), ('other', 'Other'), ('extra brut', 'extra brut'), ('brut', 'brut'), ('brut nature', 'brut nature'), ('demi-sec', 'demi-sec'), ('Extra Dry', 'Extra Dry'), ('dosage zero', 'dosage zero'), ('sec', 'sec'), ('doux', 'doux'), ('moelleux', 'moelleux')], db_index=True, max_length=50, unique=True, verbose_name='Index name'),
),
migrations.CreateModel(
name='WineClassification',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='name')),
('standard', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='product.WineStandard', verbose_name='standard')),
],
options={
'verbose_name': 'wine classification',
'verbose_name_plural': 'wine classifications',
},
),
migrations.AddField(
model_name='product',
name='wine_standard',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='product.WineStandard', verbose_name='wine standard'),
),
migrations.AddField(
model_name='product',
name='characteristics',
field=models.ManyToManyField(to='product.Characteristic', verbose_name='characteristics'),
),
]

View File

@ -234,9 +234,9 @@ class Characteristic(TranslatedFieldsMixin, models.Model):
STR_FIELD_NAME = 'name' STR_FIELD_NAME = 'name'
name = TJSONField(_('name'), name = TJSONField(_('name'), null=True, blank=True,
help_text='{"en-GB":"some text"}') help_text='{"en-GB":"some text"}')
value = models.CharField(max_length=255, value = models.CharField(max_length=255, null=True, blank=True,
verbose_name=_('value')) verbose_name=_('value'))
# unit = models.ForeignKey('Unit', on_delete=models.PROTECT) # unit = models.ForeignKey('Unit', on_delete=models.PROTECT)
priority = models.IntegerField(unique=True, null=True, default=None) priority = models.IntegerField(unique=True, null=True, default=None)

View File

@ -1,7 +1,8 @@
from pprint import pprint from pprint import pprint
from transfer.models import EstablishmentBacklinks from transfer.models import EstablishmentBacklinks, WineColor
from transfer.serializers.partner import PartnerSerializer from transfer.serializers.partner import PartnerSerializer
from transfer.serializers.product import WineColorSerializer
def transfer_partner(): def transfer_partner():
@ -14,6 +15,17 @@ def transfer_partner():
pprint(f"News serializer errors: {serialized_data.errors}") pprint(f"News serializer errors: {serialized_data.errors}")
def transfer_wine_color():
queryset = WineColor.objects.all()
serialized_data = WineColorSerializer(data=list(queryset.values()),
many=True)
if serialized_data.is_valid():
serialized_data.save()
else:
pprint(f"CharacteristicSerializer errors: {serialized_data.errors}")
data_types = { data_types = {
"partner": [transfer_partner] "partner": [transfer_partner],
"wine_color": [transfer_wine_color],
} }

View File

@ -21,7 +21,8 @@ class Command(BaseCommand):
'overlook', 'overlook',
'tmp', 'tmp',
'menu', 'menu',
'location_establishment' 'location_establishment',
'wine_color',
] ]
def handle(self, *args, **options): def handle(self, *args, **options):

View File

@ -902,7 +902,6 @@ class WineColor(MigrateMixin):
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
order_number = models.IntegerField(null=True, blank=True) order_number = models.IntegerField(null=True, blank=True)
fra_encima_id = models.IntegerField(null=True, blank=True)
class Meta: class Meta:
managed = False managed = False

View File

@ -2,27 +2,25 @@ from rest_framework import serializers
from product.models import Characteristic from product.models import Characteristic
class RecipeSerializer(serializers.ModelSerializer): class WineColorSerializer(serializers.ModelSerializer):
NAME = 'Wine color'
name = serializers.CharField(allow_null=True)
order_number = serializers.IntegerField(allow_null=True)
class Meta: class Meta:
model = Characteristic model = Characteristic
fields = ( fields = (
"body", 'name',
"title", 'value',
"state", 'priority',
"created_at", 'order_number',
'locale',
) )
def validate(self, data): def validate(self, attrs):
data["state"] = self.get_state(data) attrs['value'] = attrs['name']
data["title"] = self.get_title(data) attrs['name'] = {'en-GB': self.NAME}
data["description"] = self.get_description(data) attrs['priority'] = attrs['order_number']
data.pop("body") attrs.pop('order_number')
data.pop("locale") return attrs
return data
def create(self, validated_data):
return Recipe.objects.create(**validated_data)