0014_auto_20150418_1749.py
33 lines
| 1000 B
| text/x-python
|
PythonLexer
neko259
|
r1112 | # -*- coding: utf-8 -*- | ||
from __future__ import unicode_literals | ||||
neko259
|
r1986 | from django.urls import reverse | ||
neko259
|
r1112 | |||
from django.db import models, migrations | ||||
class Migration(migrations.Migration): | ||||
def update_urls(apps, schema_editor): | ||||
Post = apps.get_model('boards', 'Post') | ||||
for post in Post.objects.all(): | ||||
thread = post.thread | ||||
opening_id = Post.objects.filter(threads__in=[thread]).order_by('pub_time').first().id | ||||
post_url = reverse('thread', kwargs={'post_id': opening_id}) | ||||
if post.id != opening_id: | ||||
post_url += '#' + str(post.id) | ||||
post.url = post_url | ||||
post.save(update_fields=['url']) | ||||
dependencies = [ | ||||
('boards', '0013_auto_20150408_1210'), | ||||
] | ||||
operations = [ | ||||
migrations.AddField( | ||||
model_name='post', | ||||
name='url', | ||||
field=models.TextField(default=''), | ||||
preserve_default=False, | ||||
), | ||||
migrations.RunPython(update_urls), | ||||
] | ||||