Exemplo n.º 1
0
    def test_export_as_csv(self):
        """
        Download a CSV with all of the fields in a model. ForeignKeys are
        ID's (for now), and ManyToManys are a quoted comma separated list
        """
        permission1 = Permission.objects.get(id=1)
        permission2 = Permission.objects.get(id=2)
        group1 = Group(name="Group 1")
        group1.save()
        group1.permissions.add(permission1)
        group1.permissions.add(permission2)
        group2 = Group(name="Group 2")
        group2.save()
        group2.permissions.add(permission1)
        
        # test request
        request_factory = RequestFactory()
        req = request_factory.get('/admin/auth/user/')
                
        response = export_as_csv(modeladmin=group1.__class__, 
                                request=req, 
                                queryset=Group.objects.all(), 
                                export_type="D")
        
        expected_response = 'id,name,permissions\r\n1,Group 1,"1,2,"\r\n2,Group 2,"1,"'

        self.assertContains(response, expected_response)
Exemplo n.º 2
0
    def test_export_fk_as_id(self):
        """
        CSVs should (by default) export FKs as IDs, not titles
        """
        from nomnom.tests.models import Instructor
        request_factory = RequestFactory()
        req = request_factory.get('/admin/test/instructor/')
                
        response = export_as_csv(modeladmin=self.instructor1.__class__, 
                                request=req, 
                                queryset=Instructor.objects.all(), 
                                export_type="D")
                
        expected_response = 'department,title,id,name,courses\r\n1,Capt.,1,James Kirk,\r\n2,Dr.,2,Peter Venkman,'

        self.assertContains(response, expected_response)
Exemplo n.º 3
0
def export_view(request, app_label, model_name, export_type):
    modelToExport = get_model(app_label, model_name)
    return export_as_csv(modelToExport, request, modelToExport.objects.all(), export_type)