Hi,

   First of all sorry post new email in the list but I have some errors in the other one. (http://sourceforge.net/mailarchive/forum.php?thread_id=9136487&forum_id=30269)

  The example that Rick Flosi gives me was correct and all works ^_^. Thanks Rick :-)

  Have one more question :P Is there a way to raise something like "Duplicate Key"? It gives me an exception to big :P
"""pysqlite2.dbapi2.OperationalError: columns grupo_id, utilizador_id are not unique"""

  Many thanks for all,
Helio Pereira


<------------------------ Code ----------------------------------->
from sqlobject import *
import sys, os
 
conn_str="sqlite:/:memory:?debug=t"
#conn_str="sqlite:/:memory:"
sqlhub.processConnection = connectionForURI(conn_str)

class GrupoUtilizador(SQLObject):
   class sqlmeta:
       table = 'grupo_utilizador'
   grupo = ForeignKey('Grupo', notNull=True)
   utilizador = ForeignKey('Utilizador', notNull=True)
   unique = index.DatabaseIndex(grupo, utilizador, unique=True)
 
class Utilizador(SQLObject):
    nome = StringCol(alternateID=True, unique=True, length=100)
    grupos = RelatedJoin('Grupo', createRelatedTable=False)
 
class Grupo(SQLObject):
    nome = StringCol(alternateID=True, length=15)
    descr = StringCol(length=100)
    utilizadores = RelatedJoin('Utilizador', createRelatedTable=False)

GrupoUtilizador.createTable()
Utilizador.createTable()
Grupo.createTable()

g1 = Grupo(nome="grupo1", descr="Grupo 1")
g2 = Grupo(nome="grupo2", descr="Grupo 2")

u1 = Utilizador(nome="Helio")
u2 = Utilizador(nome="Pereira")

u1.addGrupo(g1)
u1.addGrupo(g2)

# Here is a duplicate group in the user
u2.addGrupo(g1)
u2.addGrupo(g1)

print "-"*80
print u2, u2.grupos
print "-"*80