2013-10-09 3 views
2

Я успешно использую django-facebook для входа в систему facebook users (например, после входа в систему, тег шаблона {{ user }} показывает имя пользователя facebook). однако он не доходит до интерфейса администратора - и под facebook users данных вообще нет.django-facebook подключается к пользователям, но не заполняет таблицы администратора любыми данными

также, таблица SQL django_facebook_facebookcustomuser показывает пользовательские данные.

мое предположение было то, что мне нужно, чтобы зарегистрировать FacebookCustomUser модель в admin.py, поэтому я сделал это -

class FacebookCustomUserAdmin(admin.ModelAdmin): 
    pass 

admin.site.register(models.FacebookCustomUser, FacebookCustomUserAdmin) 

# and commented out the user admin inteface - 
#admin.site.register(models.FacebookUser, FacebookUserAdmin) 

это решило проблему, но в очень хаком образом ... теперь у меня есть «таблица пользователей», показывающая разных пользователей, но разделы «open graph share» и «like» по-прежнему не заполнены никакими данными из db.

, когда я на самом деле пытаюсь передать что-то внутри класса CustomUser, как и в исходном коде -

class FacebookCustomUserAdmin(admin.ModelAdmin): 
    list_display = ('user_id', 'name', 'facebook_id',) 
    search_fields = ('name',) 

я получаю следующую http500 ошибки -

FacebookCustomUserAdmin.list_display[0], 'user_id' is not a callable or an attribute of 'FacebookCustomUserAdmin' or found in the model 'FacebookCustomUser'. 

ли кто-нибудь есть идеи о том, как Я могу правильно зарегистрировать пользователей facebook (а также другие модели django-facebook) на сайте администратора?

спасибо большое!

+0

Я, имеющий тот же вопрос! Любые идеи? – Skovy

ответ

0

два указателя:

  1. Продлить UserAdmin вместо ModelAdmin.
  2. Использовать id вместо user_id.

Попробуйте это:

from django.contrib import admin 
from django_facebook import models 
from django.contrib.auth.admin import UserAdmin 

class AccountAdmin(UserAdmin): 
    list_display = ('id', 'username', 'email', 'facebook_id') 

admin.site.register(models.FacebookCustomUser, AccountAdmin) 

В settings.py вам необходимо добавить следующие параметры, чтобы убедиться, что любит и друзей сохраняются:

FACEBOOK_STORE_LIKES = True 
FACEBOOK_STORE_FRIENDS = True