Added version model
This commit is contained in:
parent
7fbe0b241b
commit
20581464a5
|
@ -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']
|
|
@ -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']
|
|
@ -1,2 +1,2 @@
|
||||||
from database.models import mod
|
from database.models import mod
|
||||||
#from database.models import version
|
from database.models import version
|
||||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue