0032_make_not_bumpable.py
81 lines
| 4.9 KiB
| text/x-python
|
PythonLexer
neko259
|
r863 | # -*- coding: utf-8 -*- | ||
from south.utils import datetime_utils as datetime | ||||
from south.db import db | ||||
from south.v2 import DataMigration | ||||
from django.db import models | ||||
import boards | ||||
class Migration(DataMigration): | ||||
def forwards(self, orm): | ||||
changed_count = 0 | ||||
for thread in orm['boards.Thread'].objects.all(): | ||||
if thread.replies.count() >= boards.settings.MAX_POSTS_PER_THREAD: | ||||
thread.bumpable = False | ||||
print('Disabled bump on thread {}'.format(thread.id)) | ||||
changed_count += 1 | ||||
else: | ||||
thread.bumpable = True | ||||
thread.save(update_fields=['bumpable']) | ||||
print('Changed {} threads.'.format(changed_count)) | ||||
def backwards(self, orm): | ||||
"Write your backwards methods here." | ||||
models = { | ||||
'boards.ban': { | ||||
'Meta': {'object_name': 'Ban'}, | ||||
'can_read': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | ||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}), | ||||
'reason': ('django.db.models.fields.CharField', [], {'default': "'Auto'", 'max_length': '200'}) | ||||
}, | ||||
'boards.post': { | ||||
'Meta': {'object_name': 'Post', 'ordering': "('id',)"}, | ||||
'_text_rendered': ('django.db.models.fields.TextField', [], {}), | ||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'images': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'ip+'", 'null': 'True', 'to': "orm['boards.PostImage']", 'db_index': 'True', 'blank': 'True'}), | ||||
'last_edit_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
'poster_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}), | ||||
'poster_user_agent': ('django.db.models.fields.TextField', [], {}), | ||||
'pub_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
'referenced_posts': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'rfp+'", 'null': 'True', 'to': "orm['boards.Post']", 'db_index': 'True', 'blank': 'True'}), | ||||
'refmap': ('django.db.models.fields.TextField', [], {'blank': 'True', 'null': 'True'}), | ||||
'text': ('markupfield.fields.MarkupField', [], {'rendered_field': 'True'}), | ||||
'text_markup_type': ('django.db.models.fields.CharField', [], {'default': "'bbcode'", 'max_length': '30'}), | ||||
'thread_new': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.Thread']", 'null': 'True'}), | ||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) | ||||
}, | ||||
'boards.postimage': { | ||||
'Meta': {'object_name': 'PostImage', 'ordering': "('id',)"}, | ||||
'hash': ('django.db.models.fields.CharField', [], {'max_length': '36'}), | ||||
'height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | ||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'image': ('boards.thumbs.ImageWithThumbsField', [], {'blank': 'True', 'max_length': '100'}), | ||||
'pre_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | ||||
'pre_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | ||||
'width': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | ||||
}, | ||||
'boards.tag': { | ||||
'Meta': {'object_name': 'Tag', 'ordering': "('name',)"}, | ||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '100'}), | ||||
'threads': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'null': 'True', 'to': "orm['boards.Thread']", 'related_name': "'tag+'", 'blank': 'True'}) | ||||
}, | ||||
'boards.thread': { | ||||
'Meta': {'object_name': 'Thread'}, | ||||
'archived': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||||
'bump_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
'bumpable': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | ||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'last_edit_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
'replies': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'null': 'True', 'to': "orm['boards.Post']", 'related_name': "'tre+'", 'blank': 'True'}), | ||||
'tags': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['boards.Tag']"}) | ||||
} | ||||
} | ||||
complete_apps = ['boards'] | ||||
symmetrical = True | ||||