lundi 12 octobre 2015

Como utilizar o distinct em uma consulta SQL usando framework Django? [on hold]

Estou desenvolvendo um projeto que utiliza Django e Sqlite. Ao realizar uma consulta por meio da aplicação sem utilizar o "Distinct" consigo obter os dados porém, quando insiro o Distinct ele não me retorna nada.

Ao testar o sql direto na base de dados funciona normalmente.

def dictfetchall(cursor):
    "Returns all rows from a cursor as a dict"
    desc = cursor.description
    return [
        dict(zip([col[0] for col in desc], row))
        for row in cursor.fetchall()
    ]

 def listar_viagem_virtual_por_atividade(id):       
    cursor = connection.cursor()

    sql = 'SELECT distinct(A.data), C.nome, B.nivel, E.nome Grupo,  A.atividade_id, A.aluno_id FROM app_interacaoatividadegooglemapsaluno A '
    sql += 'JOIN app_aluno B on B.pessoa_ptr_id = A.aluno_id '
    sql += 'JOIN app_pessoa C on C.id = A.aluno_id '
    sql += 'JOIN app_grupo_alunos D on D.aluno_id = A.aluno_id '
    sql += 'JOIN app_grupo E on E.id = D.grupo_id '
    sql += 'WHERE A.atividade_id = %s '
    sql += 'Order by C.nome, A.data'
    dados = ''

    try:
        cursor.execute(sql % id)           
        dados = RepInteracaoAtividadeGoogleMapsAluno.dictfetchall(cursor)
    finally:
        cursor.close()
    return dados

Grato pela atenção.

Aucun commentaire:

Enregistrer un commentaire