Added version model

This commit is contained in:
Felipe Martín 2013-05-20 16:29:14 +02:00
parent 7fbe0b241b
commit 20581464a5
4 changed files with 148 additions and 1 deletions

View File

@ -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 model 'Version'
db.create_table(u'database_version', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('mod', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['database.Mod'])),
('version', self.gf('django.db.models.fields.CharField')(max_length=256)),
('status', self.gf('django.db.models.fields.CharField')(default='release', max_length=10, blank=True)),
('date', self.gf('django.db.models.fields.DateField')()),
('url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=128, blank=True)),
('changelog', self.gf('django.db.models.fields.TextField')()),
))
db.send_create_signal('database', ['Version'])
def backwards(self, orm):
# Deleting model 'Version'
db.delete_table(u'database_version')
models = {
'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'}),
'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': ('django.db.models.fields.CharField', [], {'max_length': '256'})
}
}
complete_apps = ['database']

View File

@ -0,0 +1,48 @@
# -*- 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):
# Deleting field 'Version.version'
db.delete_column(u'database_version', 'version')
# Adding field 'Version.version_number'
db.add_column(u'database_version', 'version_number',
self.gf('django.db.models.fields.CharField')(default='0.1.0', max_length=256),
keep_default=False)
def backwards(self, orm):
# User chose to not deal with backwards NULL issues for 'Version.version'
raise RuntimeError("Cannot reverse this migration. 'Version.version' and its values cannot be restored.")
# Deleting field 'Version.version_number'
db.delete_column(u'database_version', 'version_number')
models = {
'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'}),
'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']

View File

@ -1,2 +1,2 @@
from database.models import mod
#from database.models import version
from database.models import version

View File

@ -0,0 +1,49 @@
from django.db import models
from django.contrib import admin
class Version(models.Model):
mod = models.ForeignKey('Mod')
version_number = models.CharField(
max_length=256,
default='0.1.0'
)
status = models.CharField(max_length=10,
blank=True,
default='release'
)
date = models.DateField()
url = models.URLField(blank=True, null=True)
name = models.CharField(max_length=128,
blank=True,
null=False
)
changelog = models.TextField('changelog')
def __unicode__(self):
return "%s %s" % (
self.mod,
self.version_number
)
class Meta:
app_label = 'database'
ordering = ['date']
class VersionAdmin(admin.ModelAdmin):
list_display = ('mod', 'status', 'version_number', 'name', 'url_html', 'date')
list_display_links = ('version_number',)
list_filter = ('mod', 'date', 'status')
search_fields = ['version_number', 'name', 'changelog']
ordering = ('-date', '-version_number')
def url_html(self, obj):
if obj.url != '':
return ('<a href="%s">%s</a>' % (obj.url, obj.url))
else:
return "--"
url_html.short_description = 'URL'
url_html.allow_tags = True
admin.site.register(Version, VersionAdmin)