diff --git a/minecraftcodex/database/migrations/0006_auto__add_field_version_snapshot.py b/minecraftcodex/database/migrations/0006_auto__add_field_version_snapshot.py new file mode 100644 index 0000000..0d7a12e --- /dev/null +++ b/minecraftcodex/database/migrations/0006_auto__add_field_version_snapshot.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding field 'Version.snapshot' + db.add_column(u'database_version', 'snapshot', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Version.snapshot' + db.delete_column(u'database_version', 'snapshot') + + + models = { + 'database.jarfile': { + 'Meta': {'object_name': 'JarFile'}, + 'description': ('django.db.models.fields.CharField', [], {'default': "'client'", 'max_length': '256'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'url': ('django.db.models.fields.URLField', [], {'max_length': '200'}), + 'version': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['database.Version']"}) + }, + 'database.mod': { + 'Meta': {'ordering': "['name']", 'object_name': 'Mod'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}), + 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'database.version': { + 'Meta': {'ordering': "['date']", 'object_name': 'Version'}, + 'changelog': ('django.db.models.fields.TextField', [], {}), + 'date': ('django.db.models.fields.DateField', [], {}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mod': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['database.Mod']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'blank': 'True'}), + 'snapshot': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'release'", 'max_length': '10', 'blank': 'True'}), + 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'version_number': ('django.db.models.fields.CharField', [], {'default': "'0.1.0'", 'max_length': '256'}) + } + } + + complete_apps = ['database'] \ No newline at end of file diff --git a/minecraftcodex/database/models.py b/minecraftcodex/database/models.py index faad712..9a7619b 100644 --- a/minecraftcodex/database/models.py +++ b/minecraftcodex/database/models.py @@ -76,6 +76,7 @@ class Version(models.Model): blank=True, default='release' ) + snapshot = models.BooleanField(default=False) date = models.DateField() url = models.URLField(blank=True, null=True) name = models.CharField(max_length=128, @@ -84,6 +85,13 @@ class Version(models.Model): ) changelog = models.TextField('changelog') + def get_jarfiles(self): + self.jarfiles = JarFile.objects.filter(version=self) + + def __init__(self, *args, **kwargs): + super(self.__class__, self).__init__(*args, **kwargs) + self.get_jarfiles() + def __unicode__(self): return "%s %s" % ( self.mod, @@ -96,7 +104,7 @@ class Version(models.Model): class VersionAdmin(admin.ModelAdmin): - list_display = ('mod', 'status', 'version_number', 'name', 'url_html', 'date') + list_display = ('mod', 'status', 'snapshot', 'version_number', 'name', 'url_html', 'date') list_display_links = ('version_number',) list_filter = ('mod', 'date', 'status') search_fields = ['version_number', 'name', 'changelog']