Подражание const в python
У меня в поле зрения filterset_class = main_app.api.filters.TestClassFilter
и там поле id__in
class TestClassFilter(FilterSet):
id__in = BaseInLimitFilter(
field_name="id",
label='Id in',
limit=LIMIT
)
с пользовательским классом фильтра api.filters.BaseInLimitFilter
class BaseInLimitFilter(BaseInFilter):
message = _("At most {} values are allowed.")
limit = 10
def __init__(self, *args, **kwargs):
if 'limit' in kwargs:
self.limit = kwargs.pop('limit')
super(BaseInLimitFilter, self).__init__(*args, **kwargs)
def filter(self, qs, value):
if len(value) >= self.limit:
raise ValidationError({
"id__in": self.message.format(self.limit)
})
return super(BaseInLimitFilter, self).filter(qs, value)
Я пробовал mock const api.const.LIMIT
и установить значение как 1 в моем тесте, но у меня есть проблема с этим. Я пробовал что-то вроде этого:
@mock.patch('main_app.api.filters.LIMIT', 1)
У кого-нибудь есть идеи, что я делаю неправильно?