0015_post_to_thread.py
98 lines
| 5.9 KiB
| text/x-python
|
PythonLexer
neko259
|
r398 | # -*- 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 | ||||
from boards import views | ||||
class Migration(DataMigration): | ||||
def forwards(self, orm): | ||||
for post in orm.Post.objects.filter(thread=None): | ||||
thread = orm.Thread.objects.create( | ||||
bump_time=post.bump_time, | ||||
last_edit_time=post.last_edit_time) | ||||
thread.replies.add(post) | ||||
post.thread_new = thread | ||||
post.save() | ||||
print str(post.thread_new.id) | ||||
for reply in post.replies.all(): | ||||
thread.replies.add(reply) | ||||
reply.thread_new = thread | ||||
reply.save() | ||||
for tag in post.tags.all(): | ||||
thread.tags.add(tag) | ||||
tag.threads.add(thread) | ||||
def backwards(self, orm): | ||||
pass | ||||
models = { | ||||
'boards.ban': { | ||||
'Meta': {'object_name': 'Ban'}, | ||||
'can_read': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | ||||
u'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'}, | ||||
'_text_rendered': ('django.db.models.fields.TextField', [], {}), | ||||
'bump_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'image': ('boards.thumbs.ImageWithThumbsField', [], {'max_length': '100', 'blank': 'True'}), | ||||
'image_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | ||||
'image_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | ||||
'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', [], {'blank': 'True', 'related_name': "'rfp+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}), | ||||
'replies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'re+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}), | ||||
'tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['boards.Tag']", 'symmetrical': 'False'}), | ||||
'text': ('markupfield.fields.MarkupField', [], {'rendered_field': 'True'}), | ||||
'text_markup_type': ('django.db.models.fields.CharField', [], {'default': "'markdown'", 'max_length': '30'}), | ||||
'thread': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.Post']", 'null': 'True'}), | ||||
'thread_new': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.Thread']", 'null': 'True'}), | ||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '50'}), | ||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.User']", 'null': 'True'}) | ||||
}, | ||||
'boards.setting': { | ||||
'Meta': {'object_name': 'Setting'}, | ||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), | ||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['boards.User']"}), | ||||
'value': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | ||||
}, | ||||
'boards.tag': { | ||||
'Meta': {'object_name': 'Tag'}, | ||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'linked': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['boards.Tag']", 'null': 'True', 'blank': 'True'}), | ||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | ||||
'threads': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'tag+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Thread']"}) | ||||
}, | ||||
'boards.thread': { | ||||
'Meta': {'object_name': 'Thread'}, | ||||
'bump_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'last_edit_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
'replies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'tre+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}), | ||||
'tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['boards.Tag']", 'symmetrical': 'False'}) | ||||
}, | ||||
'boards.user': { | ||||
'Meta': {'object_name': 'User'}, | ||||
'fav_tags': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['boards.Tag']", 'null': 'True', 'blank': 'True'}), | ||||
'fav_threads': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}), | ||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||||
'rank': ('django.db.models.fields.IntegerField', [], {}), | ||||
'registration_time': ('django.db.models.fields.DateTimeField', [], {}), | ||||
'user_id': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | ||||
} | ||||
} | ||||
complete_apps = ['boards'] | ||||
symmetrical = True | ||||