Add gallery
Add name_translated Add migrations
This commit is contained in:
parent
e6094b7961
commit
57d22bedcb
29
apps/location/migrations/0021_citygallery.py
Normal file
29
apps/location/migrations/0021_citygallery.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Generated by Django 2.2.4 on 2019-11-06 12:42
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('gallery', '0006_merge_20191027_1758'),
|
||||
('location', '0020_merge_20191030_1714'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='CityGallery',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('is_main', models.BooleanField(default=False, verbose_name='Is the main image')),
|
||||
('city', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='city_gallery', to='location.City', verbose_name='city')),
|
||||
('image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='city_gallery', to='gallery.Image', verbose_name='gallery')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'city gallery',
|
||||
'verbose_name_plural': 'city galleries',
|
||||
'unique_together': {('city', 'image'), ('city', 'is_main')},
|
||||
},
|
||||
),
|
||||
]
|
||||
19
apps/location/migrations/0022_city_name_translated.py
Normal file
19
apps/location/migrations/0022_city_name_translated.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Generated by Django 2.2.4 on 2019-11-06 19:37
|
||||
|
||||
from django.db import migrations
|
||||
import utils.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('location', '0021_citygallery'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='city',
|
||||
name='name_translated',
|
||||
field=utils.models.TJSONField(blank=True, default=None, help_text='{"en-GB":"some text"}', null=True, verbose_name='Translated name'),
|
||||
),
|
||||
]
|
||||
|
|
@ -90,6 +90,8 @@ class City(models.Model):
|
|||
"""Region model."""
|
||||
|
||||
name = models.CharField(_('name'), max_length=250)
|
||||
name_translated = TJSONField(blank=True, null=True, default=None,
|
||||
verbose_name=_('Translated name'), help_text='{"en-GB":"some text"}')
|
||||
code = models.CharField(_('code'), max_length=250)
|
||||
region = models.ForeignKey(
|
||||
Region, verbose_name=_('parent region'), on_delete=models.CASCADE)
|
||||
|
|
@ -111,6 +113,35 @@ class City(models.Model):
|
|||
return self.name
|
||||
|
||||
|
||||
class CityGalleryQuerySet(models.QuerySet):
|
||||
"""QuerySet for model News"""
|
||||
|
||||
def main_image(self):
|
||||
"""Return objects with flag is_main is True"""
|
||||
return self.filter(is_main=True)
|
||||
|
||||
|
||||
class CityGallery(models.Model):
|
||||
city = models.ForeignKey(City, null=True,
|
||||
related_name='city_gallery',
|
||||
on_delete=models.CASCADE,
|
||||
verbose_name=_('city'))
|
||||
image = models.ForeignKey('gallery.Image', null=True,
|
||||
related_name='city_gallery',
|
||||
on_delete=models.CASCADE,
|
||||
verbose_name=_('gallery'))
|
||||
is_main = models.BooleanField(default=False,
|
||||
verbose_name=_('Is the main image'))
|
||||
|
||||
objects = CityGalleryQuerySet.as_manager()
|
||||
|
||||
class Meta:
|
||||
"""NewsGallery meta class."""
|
||||
verbose_name = _('city gallery')
|
||||
verbose_name_plural = _('city galleries')
|
||||
unique_together = (('city', 'is_main'), ('city', 'image'))
|
||||
|
||||
|
||||
class Address(models.Model):
|
||||
"""Address model."""
|
||||
city = models.ForeignKey(City, verbose_name=_('city'), on_delete=models.CASCADE)
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ class CitySerializer(serializers.ModelSerializer):
|
|||
'country_id',
|
||||
'postal_code',
|
||||
'is_island',
|
||||
'city_gallery'
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user