You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
8.6 KiB
134 lines
8.6 KiB
# -*- coding: utf-8 -*-
|
|
from south.utils import datetime_utils as datetime
|
|
from south.db import db
|
|
from south.v2 import DataMigration
|
|
from django.db import models
|
|
from django.conf import settings
|
|
|
|
from photologue.models import Gallery, Photo
|
|
|
|
|
|
class GalleryPhotoJoin(models.Model):
|
|
|
|
"""Temp model for representing the join table between Gallery and Photo."""
|
|
id = models.IntegerField()
|
|
gallery = models.ForeignKey(Gallery)
|
|
photo = models.ForeignKey(Photo)
|
|
sort_value = models.IntegerField(default=1)
|
|
|
|
class Meta:
|
|
db_table = 'photologue_gallery_photos'
|
|
managed = False
|
|
|
|
|
|
class Migration(DataMigration):
|
|
|
|
def forwards(self, orm):
|
|
for gallery in orm.Gallery.objects.all():
|
|
counter = 0
|
|
for photo in gallery.photos.all().order_by('-date_added'):
|
|
join = GalleryPhotoJoin.objects.get(gallery=gallery,
|
|
photo=photo)
|
|
join.sort_value = counter
|
|
join.save()
|
|
counter += 1
|
|
|
|
current_site = orm['sites.Site'].objects.get(pk=settings.SITE_ID)
|
|
|
|
for gallery in orm.Gallery.objects.all():
|
|
gallery.sites.add(current_site)
|
|
|
|
for photo in orm.Photo.objects.all():
|
|
photo.sites.add(current_site)
|
|
|
|
def backwards(self, orm):
|
|
raise RuntimeError("Cannot reverse this migration.")
|
|
|
|
models = {
|
|
u'photologue.gallery': {
|
|
'Meta': {'ordering': "['-date_added']", 'object_name': 'Gallery'},
|
|
'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
|
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
|
'photos': ('sortedm2m.fields.SortedManyToManyField', [], {'blank': 'True', 'related_name': "'galleries'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['photologue.Photo']"}),
|
|
'sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['sites.Site']", 'null': 'True', 'blank': 'True'}),
|
|
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
|
|
'tags': ('photologue.models.TagField', [], {'max_length': '255', 'blank': 'True'}),
|
|
'title': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
|
|
},
|
|
u'photologue.galleryupload': {
|
|
'Meta': {'object_name': 'GalleryUpload'},
|
|
'caption': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
|
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
|
'gallery': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['photologue.Gallery']", 'null': 'True', 'blank': 'True'}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
|
'tags': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
|
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
|
|
'zip_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'})
|
|
},
|
|
u'photologue.photo': {
|
|
'Meta': {'ordering': "['-date_added']", 'object_name': 'Photo'},
|
|
'caption': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
|
'crop_from': ('django.db.models.fields.CharField', [], {'default': "'center'", 'max_length': '10', 'blank': 'True'}),
|
|
'date_added': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
|
'date_taken': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
|
'effect': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'photo_related'", 'null': 'True', 'to': u"orm['photologue.PhotoEffect']"}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
|
|
'is_public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
|
'sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['sites.Site']", 'null': 'True', 'blank': 'True'}),
|
|
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
|
|
'tags': ('photologue.models.TagField', [], {'max_length': '255', 'blank': 'True'}),
|
|
'title': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}),
|
|
'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
|
|
},
|
|
u'photologue.photoeffect': {
|
|
'Meta': {'object_name': 'PhotoEffect'},
|
|
'background_color': ('django.db.models.fields.CharField', [], {'default': "'#FFFFFF'", 'max_length': '7'}),
|
|
'brightness': ('django.db.models.fields.FloatField', [], {'default': '1.0'}),
|
|
'color': ('django.db.models.fields.FloatField', [], {'default': '1.0'}),
|
|
'contrast': ('django.db.models.fields.FloatField', [], {'default': '1.0'}),
|
|
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
|
'filters': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}),
|
|
'reflection_size': ('django.db.models.fields.FloatField', [], {'default': '0'}),
|
|
'reflection_strength': ('django.db.models.fields.FloatField', [], {'default': '0.6'}),
|
|
'sharpness': ('django.db.models.fields.FloatField', [], {'default': '1.0'}),
|
|
'transpose_method': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'})
|
|
},
|
|
u'photologue.photosize': {
|
|
'Meta': {'ordering': "['width', 'height']", 'object_name': 'PhotoSize'},
|
|
'crop': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
'effect': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'photo_sizes'", 'null': 'True', 'to': u"orm['photologue.PhotoEffect']"}),
|
|
'height': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'increment_count': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40'}),
|
|
'pre_cache': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
'quality': ('django.db.models.fields.PositiveIntegerField', [], {'default': '70'}),
|
|
'upscale': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
'watermark': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'photo_sizes'", 'null': 'True', 'to': u"orm['photologue.Watermark']"}),
|
|
'width': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
|
|
},
|
|
u'photologue.watermark': {
|
|
'Meta': {'object_name': 'Watermark'},
|
|
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
|
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}),
|
|
'opacity': ('django.db.models.fields.FloatField', [], {'default': '1'}),
|
|
'style': ('django.db.models.fields.CharField', [], {'default': "'scale'", 'max_length': '5'})
|
|
},
|
|
u'sites.site': {
|
|
'Meta': {'ordering': "(u'domain',)", 'object_name': 'Site', 'db_table': "u'django_site'"},
|
|
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
|
}
|
|
}
|
|
|
|
complete_apps = ['photologue']
|
|
symmetrical = True
|
|
|