コード例 #1
0
ファイル: admin_media.py プロジェクト: joaquinquintas/trade
def file_list_filter(context):
    """
    Adds list filter for models related to an File in the admin.
    """
    request = context['request']
    selected_model = None
    selected_id = None
    if 'relations__content_type__model' in request.GET:
        selected_model = request.GET['relations__content_type__model']
        if 'relations__object_id' in request.GET:
            selected_id = request.GET['relations__object_id']

    filters = []
    for model in FileRelation.get_related_models():
        ctype = ContentType.objects.get_for_model(model)
        objs = model.objects.all()
        selected = None
        if selected_model == ctype.model:
            selected = selected_id
        filters.append({
            'name': model._meta.module_name,
            'verbose_name': model._meta.verbose_name,
            'ctype': ctype,
            'objects': objs,
            'selected': selected,
        })

    return {
        'filters': filters,
        'querydict': request.GET.copy()
    }
コード例 #2
0
ファイル: tests.py プロジェクト: joaquinquintas/trade
 def test_media_registry(self):
     for klass in (RegularSet, ChildSet, AbsChildSet):
         self.failUnless(FileRelation.relates_to(klass),
             "%s.%s was not found in the list of related models." % (klass._meta.app_label, klass._meta.object_name))
     self.failIf(FileRelation.relates_to(AbstractSet))