##// END OF EJS Templates
Show thread OPs in the landing page instead of link and title list
Show thread OPs in the landing page instead of link and title list

File last commit:

r1112:ae5d52b8 default
r1793:9acfb664 default
Show More
0014_auto_20150418_1749.py
33 lines | 1013 B | text/x-python | PythonLexer
/ boards / migrations / 0014_auto_20150418_1749.py
neko259
Store each post URL in the database instead of computing it every time
r1112 # -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.core.urlresolvers import reverse
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),
]