intermediate commit

This commit is contained in:
Anatoly 2019-11-01 14:09:54 +03:00
parent 78a8a5d699
commit d1113364a9
3 changed files with 32 additions and 8 deletions

View File

@ -1,7 +1,7 @@
"""Product admin conf.""" """Product admin conf."""
from django.contrib import admin from django.contrib import admin
from utils.admin import BaseModelAdminMixin from utils.admin import BaseModelAdminMixin
from .models import Product, ProductType, ProductSubType from .models import Product, ProductType, ProductSubType, Unit, Characteristic
@admin.register(Product) @admin.register(Product)
@ -17,3 +17,13 @@ class ProductTypeAdmin(admin.ModelAdmin):
@admin.register(ProductSubType) @admin.register(ProductSubType)
class ProductSubTypeAdmin(admin.ModelAdmin): class ProductSubTypeAdmin(admin.ModelAdmin):
"""Admin page for model ProductSubType.""" """Admin page for model ProductSubType."""
@admin.register(Unit)
class UnitAdmin(admin.ModelAdmin):
"""Admin page for model Unit."""
@admin.register(Characteristic)
class CharacteristicAdmin(admin.ModelAdmin):
"""Admin page for model Characteristic."""

View File

@ -138,7 +138,8 @@ class Product(TranslatedFieldsMixin, BaseAttributes):
verbose_name=_('name')) verbose_name=_('name'))
description = TJSONField(_('Description'), null=True, blank=True, description = TJSONField(_('Description'), null=True, blank=True,
default=None, help_text='{"en-GB":"some text"}') default=None, help_text='{"en-GB":"some text"}')
characteristics = JSONField(_('Characteristics')) characteristics = models.ManyToManyField('Characteristic',
verbose_name=_('characteristics'))
country = models.ManyToManyField('location.Country', country = models.ManyToManyField('location.Country',
verbose_name=_('Country')) verbose_name=_('Country'))
available = models.BooleanField(_('Available'), default=True) available = models.BooleanField(_('Available'), default=True)
@ -163,8 +164,6 @@ class Product(TranslatedFieldsMixin, BaseAttributes):
wine_village = models.ForeignKey('location.WineVillage', on_delete=models.PROTECT, wine_village = models.ForeignKey('location.WineVillage', on_delete=models.PROTECT,
blank=True, null=True, blank=True, null=True,
verbose_name=_('wine appellation')) verbose_name=_('wine appellation'))
bottles_produced = models.IntegerField(blank=True, null=True,
verbose_name=_('bottles produced'))
slug = models.SlugField(unique=True, max_length=255, null=True, slug = models.SlugField(unique=True, max_length=255, null=True,
verbose_name=_('Establishment slug')) verbose_name=_('Establishment slug'))
favorites = generic.GenericRelation(to='favorites.Favorites') favorites = generic.GenericRelation(to='favorites.Favorites')
@ -213,6 +212,23 @@ class OnlineProduct(Product):
verbose_name_plural = _('Online products') verbose_name_plural = _('Online products')
class Unit(models.Model):
"""Product unit model."""
name = models.CharField(max_length=255,
verbose_name=_('name'))
value = models.CharField(max_length=255,
verbose_name=_('value'))
class Meta:
"""Meta class."""
verbose_name = _('unit')
verbose_name_plural = _('units')
def __str__(self):
"""Overridden dunder method."""
return self.name
class Characteristic(TranslatedFieldsMixin, models.Model): class Characteristic(TranslatedFieldsMixin, models.Model):
"""Characteristic model.""" """Characteristic model."""
@ -222,8 +238,7 @@ class Characteristic(TranslatedFieldsMixin, models.Model):
help_text='{"en-GB":"some text"}') help_text='{"en-GB":"some text"}')
value = models.CharField(max_length=255, value = models.CharField(max_length=255,
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)
class Meta: class Meta:

View File

@ -900,8 +900,8 @@ class KeyValueMetadatumKeyValueMetadatumEstablishments(MigrateMixin):
class WineColor(MigrateMixin): class WineColor(MigrateMixin):
using = 'legacy' using = 'legacy'
id = models.IntegerField()
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
order_number = models.IntegerField(null=True, blank=True)
fra_encima_id = models.IntegerField(null=True, blank=True) fra_encima_id = models.IntegerField(null=True, blank=True)
class Meta: class Meta:
@ -912,7 +912,6 @@ class WineColor(MigrateMixin):
class WineClassification(MigrateMixin): class WineClassification(MigrateMixin):
using = 'legacy' using = 'legacy'
id = models.IntegerField()
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
desc = models.TextField() desc = models.TextField()
latitude = models.FloatField(blank=True, null=True) latitude = models.FloatField(blank=True, null=True)