From: Thomas Fillon Date: Fri, 28 Aug 2015 19:34:34 +0000 (+0200) Subject: Fix models and go back to migrations 0001 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=529fd80b8dd7232fb0bbf5ddbf9852d1705e2b33;p=diggersdigest.git Fix models and go back to migrations 0001 --- diff --git a/diggersdigest/records/migrations/0001_initial.py b/diggersdigest/records/migrations/0001_initial.py index 108129c..d334ade 100644 --- a/diggersdigest/records/migrations/0001_initial.py +++ b/diggersdigest/records/migrations/0001_initial.py @@ -2,11 +2,14 @@ from __future__ import unicode_literals from django.db import models, migrations +import django.db.models.deletion +import mezzanine.core.fields class Migration(migrations.Migration): dependencies = [ + ('blog', '0002_auto_20150527_1555'), ] operations = [ @@ -28,6 +31,7 @@ class Migration(migrations.Migration): ('published', models.IntegerField()), ], options={ + 'verbose_name': 'OLD_Gallery', 'db_table': 'gallery', 'managed': False, }, @@ -39,6 +43,7 @@ class Migration(migrations.Migration): ('nom', models.CharField(max_length=5)), ], options={ + 'verbose_name': 'OLD_Grading', 'db_table': 'grading', 'managed': False, }, @@ -54,6 +59,7 @@ class Migration(migrations.Migration): ('published', models.IntegerField()), ], options={ + 'verbose_name': 'OLD_Link', 'db_table': 'links', 'managed': False, }, @@ -72,8 +78,10 @@ class Migration(migrations.Migration): ('published', models.IntegerField()), ], options={ + 'verbose_name': 'OLD_Mix', 'db_table': 'mix', 'managed': False, + 'verbose_name_plural': 'OLD_Mixes', }, ), migrations.CreateModel( @@ -91,8 +99,10 @@ class Migration(migrations.Migration): ('published', models.IntegerField()), ], options={ + 'verbose_name': 'OLD_News', 'db_table': 'news', 'managed': False, + 'verbose_name_plural': 'OLD_News', }, ), migrations.CreateModel( @@ -117,6 +127,7 @@ class Migration(migrations.Migration): ('published', models.IntegerField()), ], options={ + 'verbose_name': 'OLD_Shop', 'db_table': 'shop', 'managed': False, }, @@ -130,6 +141,7 @@ class Migration(migrations.Migration): ('published', models.IntegerField()), ], options={ + 'verbose_name': 'OLD_Theme', 'db_table': 'theme', 'managed': False, }, @@ -145,6 +157,65 @@ class Migration(migrations.Migration): options={ 'db_table': 'user', 'managed': False, + 'verbose_name_plural': 'OLD_User', }, ), + migrations.CreateModel( + name='Artist', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128)), + ], + ), + migrations.CreateModel( + name='ConditionGrading', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('abbr', models.CharField(unique=True, max_length=5, verbose_name='abbreviation')), + ('name', models.CharField(max_length=128, verbose_name='name')), + ('description', models.TextField(verbose_name='description')), + ], + ), + migrations.CreateModel( + name='Country', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128)), + ], + ), + migrations.CreateModel( + name='Label', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128)), + ], + ), + migrations.CreateModel( + name='Podcast', + fields=[ + ('blogpost_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='blog.BlogPost')), + ('audio', mezzanine.core.fields.FileField(max_length=200, verbose_name='Audio File')), + ('genre', models.CharField(max_length=128, null=True)), + ('old_date', models.CharField(max_length=64, null=True)), + ('mix_cloud_url', models.URLField(null=True)), + ], + options={ + 'abstract': False, + }, + bases=('blog.blogpost',), + ), + migrations.CreateModel( + name='Record', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=128)), + ('record_status', models.IntegerField(default=1, verbose_name='record status', choices=[(0, ''), (1, 'New'), (2, 'On Hold'), (3, 'Just Sold')])), + ('release_date', models.DateField(null=True, verbose_name='release date')), + ('audio_file', mezzanine.core.fields.FileField(max_length=1024, null=True, verbose_name='audio file')), + ('artist', models.ForeignKey(related_name='records_artists', on_delete=django.db.models.deletion.SET_NULL, verbose_name='artist', to='records.Artist', null=True)), + ('country', models.ForeignKey(related_name='records', on_delete=django.db.models.deletion.SET_NULL, verbose_name='country', to='records.Country', null=True)), + ('label', models.ForeignKey(related_name='records', on_delete=django.db.models.deletion.SET_NULL, verbose_name='label', to='records.Label', null=True)), + ('performers', models.ManyToManyField(related_name='records_performers', verbose_name='performer', to='records.Artist')), + ], + ), ] diff --git a/diggersdigest/records/migrations/0002_artist_country_label_podcast_record.py b/diggersdigest/records/migrations/0002_artist_country_label_podcast_record.py deleted file mode 100644 index 5de0e20..0000000 --- a/diggersdigest/records/migrations/0002_artist_country_label_podcast_record.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import django.db.models.deletion -import mezzanine.core.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('blog', '0002_auto_20150527_1555'), - ('records', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='Artist', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128)), - ], - ), - migrations.CreateModel( - name='Country', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128)), - ], - ), - migrations.CreateModel( - name='Label', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128)), - ], - ), - migrations.CreateModel( - name='Podcast', - fields=[ - ('blogpost_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='blog.BlogPost')), - ('audio', mezzanine.core.fields.FileField(max_length=200, verbose_name='Audio File')), - ], - options={ - 'abstract': False, - }, - bases=('blog.blogpost',), - ), - migrations.CreateModel( - name='Record', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(max_length=128)), - ('record_status', models.IntegerField(default=1, verbose_name='record status', choices=[(0, ''), (1, 'New'), (2, 'On Hold'), (3, 'Just Sold')])), - ('release_date', models.DateField(null=True, verbose_name='release date')), - ('audio_file', mezzanine.core.fields.FileField(max_length=1024, null=True, verbose_name='audio file')), - ('artist', models.ForeignKey(related_name='records_artists', on_delete=django.db.models.deletion.SET_NULL, verbose_name='artist', to='records.Artist', null=True)), - ('country', models.ForeignKey(related_name='records', on_delete=django.db.models.deletion.SET_NULL, verbose_name='country', to='records.Country', null=True)), - ('cover_state', models.ForeignKey(related_name='records_cover_states', on_delete=django.db.models.deletion.SET_NULL, verbose_name='cover state', to='records.Grading', null=True)), - ('label', models.ForeignKey(related_name='records', on_delete=django.db.models.deletion.SET_NULL, verbose_name='label', to='records.Label', null=True)), - ('performers', models.ManyToManyField(related_name='records_performers', verbose_name='performer', to='records.Artist')), - ('vinyl_state', models.ForeignKey(related_name='records_vinyl_states', on_delete=django.db.models.deletion.SET_NULL, verbose_name='vinyl state', to='records.Grading', null=True)), - ], - ), - ] diff --git a/diggersdigest/records/migrations/0003_auto_20150827_1634.py b/diggersdigest/records/migrations/0003_auto_20150827_1634.py deleted file mode 100644 index b11b718..0000000 --- a/diggersdigest/records/migrations/0003_auto_20150827_1634.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('records', '0002_artist_country_label_podcast_record'), - ] - - operations = [ - migrations.CreateModel( - name='ConditionGrading', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='name')), - ('abbr', models.CharField(unique=True, max_length=5, verbose_name='abbreviation')), - ('description', models.TextField(verbose_name='description')), - ], - ), - migrations.AlterField( - model_name='record', - name='cover_state', - field=models.ForeignKey(related_name='records_cover_condition', on_delete=django.db.models.deletion.SET_NULL, verbose_name='cover condition', to='records.ConditionGrading', null=True), - ), - migrations.AlterField( - model_name='record', - name='vinyl_state', - field=models.ForeignKey(related_name='records_vinyl_condition', on_delete=django.db.models.deletion.SET_NULL, verbose_name='vinyl condition', to='records.ConditionGrading', null=True), - ), - ] diff --git a/diggersdigest/records/migrations/0004_auto_20150828_1342.py b/diggersdigest/records/migrations/0004_auto_20150828_1342.py deleted file mode 100644 index 7c7f3f4..0000000 --- a/diggersdigest/records/migrations/0004_auto_20150828_1342.py +++ /dev/null @@ -1,61 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('records', '0003_auto_20150827_1634'), - ] - - operations = [ - migrations.AlterModelOptions( - name='gallery', - options={'managed': False, 'verbose_name': 'OLD_Gallery'}, - ), - migrations.AlterModelOptions( - name='grading', - options={'managed': False, 'verbose_name': 'OLD_Grading'}, - ), - migrations.AlterModelOptions( - name='link', - options={'managed': False, 'verbose_name': 'OLD_Link'}, - ), - migrations.AlterModelOptions( - name='mix', - options={'managed': False, 'verbose_name': 'OLD_Mix', 'verbose_name_plural': 'OLD_Mixes'}, - ), - migrations.AlterModelOptions( - name='news', - options={'managed': False, 'verbose_name': 'OLD_News', 'verbose_name_plural': 'OLD_News'}, - ), - migrations.AlterModelOptions( - name='shop', - options={'managed': False, 'verbose_name': 'OLD_Shop'}, - ), - migrations.AlterModelOptions( - name='theme', - options={'managed': False, 'verbose_name': 'OLD_Theme'}, - ), - migrations.AlterModelOptions( - name='user', - options={'managed': False, 'verbose_name_plural': 'OLD_User'}, - ), - migrations.AddField( - model_name='podcast', - name='genre', - field=models.CharField(max_length=128, null=True), - ), - migrations.AddField( - model_name='podcast', - name='mix_cloud_url', - field=models.URLField(null=True), - ), - migrations.AddField( - model_name='podcast', - name='old_date', - field=models.CharField(max_length=64, null=True), - ), - ] diff --git a/diggersdigest/records/migrations/0005_auto_20150828_1545.py b/diggersdigest/records/migrations/0005_auto_20150828_1545.py deleted file mode 100644 index bd33487..0000000 --- a/diggersdigest/records/migrations/0005_auto_20150828_1545.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('records', '0004_auto_20150828_1342'), - ] - - operations = [ - migrations.RemoveField( - model_name='record', - name='cover_state', - ), - migrations.RemoveField( - model_name='record', - name='vinyl_state', - ), - ] diff --git a/diggersdigest/records/models.py b/diggersdigest/records/models.py index f12d2f5..a2a4ef4 100644 --- a/diggersdigest/records/models.py +++ b/diggersdigest/records/models.py @@ -225,7 +225,7 @@ class Record(models.Model): upload_to=upload_to("records.Record.audio", "audio/records"), null=True) def __unicode__(self): - return " - ".join([self.artist, self.title]) + return " - ".join([self.artist.name, self.title]) class Podcast(BlogPost): audio = FileField(verbose_name=_("Audio File"), max_length=200, format="Audio", diff --git a/diggersdigest/records/script_data_recover.py b/diggersdigest/records/script_data_recover.py index a391e0a..4881314 100644 --- a/diggersdigest/records/script_data_recover.py +++ b/diggersdigest/records/script_data_recover.py @@ -5,9 +5,11 @@ import os from records import models as rec_models +from cartridge.shop.models import ProductOption from diggersdigest import settings + import HTMLParser parser = HTMLParser.HTMLParser() @@ -93,7 +95,11 @@ check_mp3(mp3_mix_list, MIX_PATH) PODCAST_IMG_PATH = os.path.join('uploads/blog/mixes') PODCAST_AUDIO_PATH = os.path.join('uploads/audio/mixes') from django.contrib.auth import models as auth_models -digger = auth_models.User.objects.get(username='digger') +digger, created = auth_models.User.objects.get_or_create(username=u'digger', + password=u'admin', + is_staff=True, + email=u'') + @@ -104,26 +110,30 @@ for mix in rec_models.Mix.objects.all(): else: img_path = '' + audio_path = os.path.join(PODCAST_AUDIO_PATH, mix.mp3) print '---------------------------' print 'pk :\t %d' % mix.pk - print 'audio :\t %s' % os.path.join(PODCAST_AUDIO_PATH, mix.mp3) + print 'audio :\t %s' % audio_path print 'genre :\t %s' % mix.genre print "old_date :\t %s" % mix.date print "title :\t %s" % parser.unescape(mix.titre) #status=mix.published+1, #featured_image=img_path, #user=digger) - obj, created = rec_models.Podcast.objects.get_or_create( - pk=mix.pk, - audio=os.path.join(PODCAST_AUDIO_PATH, mix.mp3), - genre=mix.genre, - old_date=mix.date, - title=parser.unescape(mix.titre), - description=parser.unescape(mix.desc), - status=mix.published+1, - featured_image=img_path, - user=digger) - + obj, created = rec_models.Podcast.objects.get_or_create(pk=mix.pk, + title=parser.unescape(mix.titre), + user=digger) + if created: + obj.audio=audio_path + obj.genre=mix.genre + obj.old_date=mix.date + obj.description=parser.unescape(mix.desc) + obj.status=mix.published+1 + obj.featured_image=img_path + obj.save() + + for podcast in rec_models.Podcast.objects.filter(title=''): + podcast.delete() ## audio = FileField(verbose_name=_("Audio File"), max_length=200, format="audio", ## upload_to=upload_to("records.Podcast.audio", "audio/mixes")) ## genre = models.CharField(max_length=128) @@ -181,10 +191,15 @@ for grade in rec_models.Grading.objects.all(): abbr=grade.nom, name=name, description=desc) + if created: print "Create new GradingCondition : %s" % obj.name count += 1 - + + for option in settings.SHOP_OPTION_TYPE_CHOICES: + option_obj, option_created = ProductOption.objects.get_or_create(type=option[0], + name=grade.nom) + print "%d fiches GradingCondition crées" % count diff --git a/diggersdigest/records_shop/admin.py b/diggersdigest/records_shop/admin.py index 5b32f4a..c581eb1 100644 --- a/diggersdigest/records_shop/admin.py +++ b/diggersdigest/records_shop/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin # Register your models here. -from .models import RecordProduct +## from .models import RecordProduct -admin.site.register(RecordProduct) +## admin.site.register(RecordProduct) diff --git a/diggersdigest/records_shop/migrations/0001_initial.py b/diggersdigest/records_shop/migrations/0001_initial.py deleted file mode 100644 index a0121bb..0000000 --- a/diggersdigest/records_shop/migrations/0001_initial.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('records', '0005_auto_20150828_1545'), - ('shop', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='RecordProduct', - fields=[ - ('product_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='shop.Product')), - ('record', models.ForeignKey(related_name='record', verbose_name='record', to='records.Record')), - ], - options={ - 'abstract': False, - }, - bases=('shop.product',), - ), - ] diff --git a/diggersdigest/records_shop/migrations/__init__.py b/diggersdigest/records_shop/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/diggersdigest/records_shop/models.py b/diggersdigest/records_shop/models.py index e0ef9e5..c8f8d1f 100644 --- a/diggersdigest/records_shop/models.py +++ b/diggersdigest/records_shop/models.py @@ -6,7 +6,7 @@ from django.utils.translation import ugettext_lazy as _ from cartridge.shop.models import Product, ProductVariation -from records.models import Record +## from records.models import Record -class RecordProduct(Product): - record = models.ForeignKey(Record, verbose_name=_('record'), related_name='record') +## class RecordProduct(Product): +## record = models.ForeignKey(Record, verbose_name=_('record'), related_name='record')