def test_pick(self): _in = {"a": "ok", "b": "ko"} out = {"a": "ok"} self.assertEqual(python.pick(_in, "a", "c"), out) _in = QueryDict("a=1&b=2&a=3") out = {"a": ["1", "3"]} self.assertEqual(python.pick(_in, "a", "c"), out)
def dehydrate(self, bundle): """ Make sur the user does not see the fields he has no right to. :param bundle: the bundle to trim """ if not hasattr(bundle, "request") or not models.has_user_related(bundle.request.user): bundle.data = pick(bundle.data, *self.FIELD_ACCESS_NOT_LOGGED) else: user = models.get_user_related(bundle.request.user) if not user.is_premium: bundle.data = without(bundle.data, *self.FIELD_DENIED_BASIC) return bundle
def retrieve_data(self, data): return pick(data, *self.sub_form.Meta.fields)