##// END OF EJS Templates
Added 'bumpable' field. Disable thread bump once and for all, not counting it...
Added 'bumpable' field. Disable thread bump once and for all, not counting it every time by the post count

File last commit:

r863:0dc734ff default
r863:0dc734ff default
Show More
0032_make_not_bumpable.py
81 lines | 4.9 KiB | text/x-python | PythonLexer
/ boards / migrations / 0032_make_not_bumpable.py
# -*- 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