Helio13 Posted April 25, 2013 at 04:40 PM Report #504810 Posted April 25, 2013 at 04:40 PM Boas! Na minha aplicação quero ir buscar os os generos dos filmes á tabela generos e coloca-los num array para depois ir consultar, para ficar mais ou menos desta forma: [Drama]=id Mas não estou a conseguir...estou a tentar fazer da seguinte forma: genres = [] gen = Genre.objects.all() #print gen.GenreType for obj in gen: genres[obj.GenreType] = obj.id print genres[obj.GenreType] #print obj.id Mas está a dar o seguinte erro: list indices must be integers, not str Alguém me pode ajudar? O que estou a fazer mal?
hmiguel Posted April 25, 2013 at 05:36 PM Report #504822 Posted April 25, 2013 at 05:36 PM (edited) Boas! Na minha aplicação quero ir buscar os os generos dos filmes á tabela generos e coloca-los num array para depois ir consultar, para ficar mais ou menos desta forma: [Drama]=id Mas não estou a conseguir...estou a tentar fazer da seguinte forma: genres = [] gen = Genre.objects.all() #print gen.GenreType for obj in gen: genres[obj.GenreType] = obj.id print genres[obj.GenreType] #print obj.id Mas está a dar o seguinte erro: list indices must be integers, not str Alguém me pode ajudar? O que estou a fazer mal? O erro é suficientemente claro... para ir buscar(ou colocar) um elemento qualquer a uma lista, tem que ser com inteiros, ex. genres[0], genres[1]...e não com strings. btw, olhando para o teu código, o melhor é guardar em dicionários. Do género: genres = {} gen = Genre.objects.all() #print gen.GenreType for obj in gen: genres[obj.id] = obj.GenreType print genres[obj.id] #print obj.id Edited April 25, 2013 at 05:41 PM by hmiguel "Homem que é Homem não usa Java!"
Helio13 Posted April 26, 2013 at 11:02 AM Author Report #504912 Posted April 26, 2013 at 11:02 AM (edited) Obrigado era isso mesmo, mas agora o problema é o seguinte: Quando tenho um genero novo, eu precisava que esse genero fosse inserido primeiro na tabela dos generos. Estou a tentar desta maneira: def csv_upload(request): if request.method == 'POST': genres = {} gen = Genre.objects.all() for obj in gen: print genres[obj.GenreType] file = csv.DictReader(request.FILES['file'], delimiter=',', quotechar='"') #data = csv.DictReader(request.FILES['file']) for line in file: report = Movie() if (genres[line["IdGenre"]] == 0): print genres[line["IdGenre"]] rep = Genre() rep.GenreType = line["IdGenre"] print rep.GenreType else: report.MovieTitle = line["MovieTitle"] print report.MovieTitle #report.IdGenre = line["genres[obj.GenreType]"] report.MovieYear = line["MovieYear"] report.MovieDuration = line["MovieDuration"] report.save() Dá-me o seguinte erro: c:/Projectos/Test/rest\views.py in csv_upload, line 32 Exception Value: 'Comedia E não sei o que estou a fazer mal, o que estou a fazer mal? Edited April 26, 2013 at 11:02 AM by Helio13
hmiguel Posted April 28, 2013 at 02:37 AM Report #505039 Posted April 28, 2013 at 02:37 AM Qual é a linha 32? "Homem que é Homem não usa Java!"
Helio13 Posted April 28, 2013 at 11:29 AM Author Report #505052 Posted April 28, 2013 at 11:29 AM Já consegui fazer o que queria,,, Muito obrigado pela ajuda. Cumprimentos
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now