[Python e Django] - ORM relacionamento ManyToManyField  XML
Índice dos Fóruns » Outras Linguagens
Autor Mensagem
and.rds
Thread.start()
[Avatar]

Membro desde: 15/09/2010 21:24:32
Mensagens: 35
Offline

Boa tarde pessoal,

estou com um problema na orm do django referente a relacionamentos "muitos para muitos". Tenho duas tabelas, Cd e Cantor, e preciso fazer um relacionamento entre as duas, que seria CdCantor. Meu script está da seguinte forma:



Criei as classes Cd, Cantor e CdCantor, segue o código das 3 classes abaixo:







Como já tenho a base pronta, não preciso usar o syncdb do Django, porém não consigo mapear a tabela CdCantor, na hora de salvar dá o seguinte erro.


AttributeError at /new/
Cannot set values on a ManyToManyField which specifies an intermediary model. Use cd.CdCantor's Manager instead.
Request Method: POST
Request URL: http://localhost:8000/new/
Django Version: 1.3
Exception Type: AttributeError
Exception Value:
Cannot set values on a ManyToManyField which specifies an intermediary model. Use cd.CdCantor's Manager instead.
Exception Location: /usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py in __set__, line 742
Python Executable: /usr/bin/python2.7
Python Version: 2.7.2


Estou salvando direto do form:



Se eu gerar automaticamente, sem a classe CdCantor e colocar db_table='CdCantor' ao invés de through='CdCantor' e gerar a base usando syncdb, dá certo, mas não posso usar porque já tenho a base pronta.

Se alguém puder ajudar desde já agradeço.

Obrigado!
erwinjulius
Smalltalk

Membro desde: 21/02/2012 08:33:42
Mensagens: 1
Offline

Falaí!

Vc pode postar o código do CdForm?

Você não pode salvar o relacionamento todo de uma vez só usando um manager intermediário.
Um caminho é salvar o CD e depois salvar o relacionamento dele com o cantor.
 
Índice dos Fóruns » Outras Linguagens
Ir para:   
Powered by JForum 2.1.8 © JForum Team