reorganize partner models

This commit is contained in:
Kuroshini 2020-01-29 15:21:51 +03:00
parent 63fa81385e
commit 28d4a5ae42
4 changed files with 46 additions and 5 deletions

View File

@ -0,0 +1,37 @@
# Generated by Django 2.2.7 on 2020-01-29 12:01
import django.contrib.postgres.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('partner', '0005_auto_20200128_1754'),
]
operations = [
migrations.RemoveField(
model_name='partner',
name='image',
),
migrations.RemoveField(
model_name='partner',
name='url',
),
migrations.AddField(
model_name='partner',
name='images',
field=django.contrib.postgres.fields.ArrayField(base_field=models.URLField(verbose_name='Partner image URL'), blank=True, default=None, null=True, size=None),
),
migrations.AddField(
model_name='partnertoestablishment',
name='image',
field=models.URLField(null=True, verbose_name='Partner image URL'),
),
migrations.AddField(
model_name='partnertoestablishment',
name='url',
field=models.URLField(blank=True, default=None, null=True, verbose_name='Establishment to Partner URL'),
),
]

View File

@ -1,6 +1,7 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from django.utils import timezone
from django.contrib.postgres.fields import ArrayField
from establishment.models import Establishment
from utils.models import ImageMixin, ProjectBaseMixin
@ -31,8 +32,9 @@ class Partner(ProjectBaseMixin):
old_id = models.PositiveIntegerField(_('old id'), blank=True, null=True, default=None)
name = models.CharField(_('name'), max_length=255, blank=True, null=True)
url = models.URLField(verbose_name=_('Partner URL'))
image = models.URLField(verbose_name=_('Partner image URL'), null=True)
images = ArrayField(
models.URLField(verbose_name=_('Partner image URL')), blank=True, null=True, default=None,
)
establishment = models.ManyToManyField('establishment.Establishment', related_name='partners',
through='PartnerToEstablishment',
verbose_name=_('Establishments'))
@ -49,7 +51,7 @@ class Partner(ProjectBaseMixin):
verbose_name_plural = _('partners')
def __str__(self):
return f'{self.url}'
return f'{self.name}'
@property
def type_display(self):
@ -59,5 +61,7 @@ class Partner(ProjectBaseMixin):
class PartnerToEstablishment(models.Model):
partner_bind_date = models.DateTimeField(default=timezone.now, editable=False,
verbose_name=_('Date partner binded'))
url = models.URLField(verbose_name=_('Establishment to Partner URL'), null=True, blank=True, default=None)
image = models.URLField(verbose_name=_('Partner image URL'), null=True)
partner = models.ForeignKey(Partner, on_delete=models.CASCADE, null=True)
establishment = models.ForeignKey('establishment.Establishment', on_delete=models.CASCADE, null=True)

View File

@ -23,7 +23,7 @@ class BackPartnerSerializer(serializers.ModelSerializer):
'id',
'name',
'url',
'image',
# 'image',
'type',
'type_display',
'starting_date',

View File

@ -11,6 +11,6 @@ class PartnerSerializer(serializers.ModelSerializer):
model = models.Partner
fields = (
'id',
'image',
# 'image',
'url'
)