##// END OF EJS Templates
Don't allow editing global id content via admin site
Don't allow editing global id content via admin site

File last commit:

r1112:ae5d52b8 default
r1550:9b4affd0 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),
]