Пример #1
0
    def filter_by_content(self, obj):
        if isinstance(obj, models.QuerySet):
            klass = obj.model
            is_qs = True
        else:
            klass = obj.__class__
            is_qs = False

        if Content.is_content_model(klass):
            fieldlookup = Content.get_content_fieldlookup(klass)
            if fieldlookup is None:
                fieldlookup = '%s_content' % utils.get_short_model_name_lower(klass).replace('.', '_')

            filters = {}
            if is_qs:
                filters['%s__in' % fieldlookup] = obj
            else:
                filters[fieldlookup] = obj
            return self.filter(**filters).distinct()

        return self.none()
Пример #2
0
 def get_fieldlookup(cls):
     return '%s__content' % utils.get_short_model_name_lower(cls).replace('.', '_')