2015-05-30 3 views
0

На текущей конфигурации djStripe говорят:djStripe subscriber_has_active_subscription всегда ложно

клиентов Пользовательская модель has_active_subscription свойство

Очень полезный для работы внутри шаблонов или других местах, где нужно проверить состояние подписки повторно , Декодер cached_property кэширует результат has_active_subscription для объекта экземпляр, оптимизируя его для повторного использования.

И прошу вас, чтобы добавить этот код:

@cached_property 
def has_active_subscription(self): 
    """Checks if a user has an active subscription.""" 
    return subscriber_has_active_subscription(self) 

Но для меня ответ всегда ложно

Что происходит?

ответ

0

После обзора код djStripe я пришел с 2-решений, вы можете прочитать здесь:

def user_has_active_subscription(user): 
    warnings.warn("Deprecated - Use ``subscriber_has_active_subscription`` instead. This method will be removed in dj-stripe 1.0.", DeprecationWarning) 
    return subscriber_has_active_subscription(user) 

Тогда вы должны использовать вместо этого:

@cached_property 
def has_active_subscription(self): 
    """Checks if a user has an active subscription.""" 
    return user_has_active_subscription(self) 

Но что до сих пор не работают мне, когда я все еще читаю, я нашел это предупреждение:

Вспомогательная функция, чтобы проверить, имеет ли абонент активную подписку. Неправильно выбрасывается Конфигурация, если абонент является экземпляром AUTH_USER_MODEL и get_user_model(). Is_anonymous == Истина.

Моя проблема была именно то, что я звонил эту функцию из своего профиля, то это исправить:

@cached_property 
def has_active_subscription(self): 
    """Checks if a user has an active subscription.""" 
    return user_has_active_subscription(self.user) 

UPDATE: Моя ошибка проблема с моей нынешней системой, вы можете Подробнее читайте здесь: https://github.com/pydanny/dj-stripe/issues/203#issuecomment-110230688

Смежные вопросы