Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion follow/urls.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
from django.conf.urls.defaults import *
from django import VERSION as DjangoVersion
if float('%s.%s' % DjangoVersion[:2]) > 1.5:
from django.conf.urls import patterns, url
else:
from django.conf.urls.defaults import *


urlpatterns = patterns('',
url(r'^toggle/(?P<app>[^\/]+)/(?P<model>[^\/]+)/(?P<id>\d+)/$', 'follow.views.toggle', name='toggle'),
Expand Down
15 changes: 10 additions & 5 deletions follow/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,30 @@
from django.db.models.fields.related import ManyToManyField, ForeignKey
from follow.models import Follow
from follow.registry import registry, model_map
from django import VERSION as DjangoVersion
if float('%s.%s' % DjangoVersion[:2]) >= 1.7:
module_name = 'model_name'
else:
module_name = 'module_name'

def get_followers_for_object(instance):
return Follow.objects.get_follows(instance)

def register(model, field_name=None, related_name=None, lookup_method_name='get_follows'):
"""
This registers any model class to be follow-able.

"""
if model in registry:
return

registry.append(model)

if not field_name:
field_name = 'target_%s' % model._meta.module_name
field_name = 'target_%s' % model._meta.__getattribute__(module_name)

if not related_name:
related_name = 'follow_%s' % model._meta.module_name
related_name = 'follow_%s' % model._meta.__getattribute__(module_name)

field = ForeignKey(model, related_name=related_name, null=True,
blank=True, db_index=True)
Expand Down