using amiibo shop instead of repeating FKs

This commit is contained in:
Felipe Martín 2015-06-22 23:28:06 +02:00
parent 615c5cd2ea
commit 4accae944d
2 changed files with 63 additions and 6 deletions

View File

@ -0,0 +1,56 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('amiibo', '0009_amiiboshop_item_id'),
]
operations = [
migrations.AlterModelOptions(
name='amiiboshop',
options={'ordering': ('shop__name',)},
),
migrations.RemoveField(
model_name='amiiboprice',
name='amiibo',
),
migrations.RemoveField(
model_name='amiiboprice',
name='shop',
),
migrations.RemoveField(
model_name='amiibopricehistory',
name='amiibo',
),
migrations.RemoveField(
model_name='amiibopricehistory',
name='shop',
),
migrations.AddField(
model_name='amiiboprice',
name='amiibo_shop',
field=models.ForeignKey(default=1, to='amiibo.AmiiboShop'),
preserve_default=False,
),
migrations.AddField(
model_name='amiibopricehistory',
name='amiibo_shop',
field=models.ForeignKey(default=1, to='amiibo.AmiiboShop'),
preserve_default=False,
),
migrations.AlterField(
model_name='amiiboshop',
name='amiibo',
field=models.ForeignKey(related_name='shops_set', to='amiibo.Amiibo'),
),
migrations.AlterField(
model_name='amiiboshop',
name='shop',
field=models.ForeignKey(related_name='amiibos_set', to='shop.Shop'),
),
]

View File

@ -90,18 +90,20 @@ class Amiibo(models.Model):
class AmiiboShop(models.Model):
amiibo = models.ForeignKey(Amiibo)
shop = models.ForeignKey('shop.Shop')
amiibo = models.ForeignKey(Amiibo, related_name='shops_set')
shop = models.ForeignKey('shop.Shop', related_name='amiibos_set')
url = models.CharField(max_length=255)
item_id = models.CharField(max_length=64)
class Meta:
ordering = ('shop__name', )
def __unicode__(self):
return u'{} in {}'.format(self.amiibo.name, self.shop.name)
class AmiiboPrice(models.Model):
amiibo = models.ForeignKey(Amiibo)
shop = models.ForeignKey('shop.Shop')
amiibo_shop = models.ForeignKey(AmiiboShop)
price = models.DecimalField(max_digits=6, decimal_places=2)
currency = models.CharField(default='EUR', max_length=3)
date = models.DateTimeField(auto_now_add=True)
@ -129,8 +131,7 @@ class AmiiboPrice(models.Model):
class AmiiboPriceHistory(models.Model):
amiibo = models.ForeignKey(Amiibo)
shop = models.ForeignKey('shop.Shop')
amiibo_shop = models.ForeignKey(AmiiboShop)
price = models.DecimalField(max_digits=6, decimal_places=2)
currency = models.CharField(default='EUR', max_length=3)
date = models.DateTimeField(auto_now_add=True)