Skip to content
Open
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
44 changes: 23 additions & 21 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -100,27 +100,29 @@ If you don't already have a custom Profile model, simply uses the provided model

Be sure to run manage.py syncdb after setting this up.

Otherwise Django Facebook provides an abstract model which you can inherit like this::

from django.db import models
from django.dispatch.dispatcher import receiver
from django_facebook.models import FacebookModel
from django.db.models.signals import post_save
from django_facebook.utils import get_user_model, get_profile_model
from your_project import settings


class MyCustomProfile(FacebookModel):
user = models.OneToOneField(settings.AUTH_USER_MODEL)

@receiver(post_save)
def create_profile(sender, instance, created, **kwargs):
"""Create a matching profile whenever a user object is created."""
if sender == get_user_model():
user = instance
profile_model = get_profile_model()
if profile_model == MyCustomProfile and created:
profile, new = MyCustomProfile.objects.get_or_create(user=instance)
Otherwise Django Facebook provides an abstract model which you can inherit like this

.. code-block:: python

from django.db import models
from django.dispatch.dispatcher import receiver
from django_facebook.models import FacebookModel
from django.db.models.signals import post_save
from django_facebook.utils import get_user_model, get_profile_model
from your_project import settings


class MyCustomProfile(FacebookModel):
user = models.OneToOneField(settings.AUTH_USER_MODEL)

@receiver(post_save)
def create_profile(sender, instance, created, **kwargs):
"""Create a matching profile whenever a user object is created."""
if sender == get_user_model():
user = instance
profile_model = get_profile_model()
if profile_model == MyCustomProfile and created:
profile, new = MyCustomProfile.objects.get_or_create(user=instance)

Remember to update AUTH_PROFILE_MODULE in settings to your new profile.
Don't forget to update your database using syncdb or south after this step.
Expand Down