Django: modelo nombre choque

Estoy tratando de usar diferentes aplicaciones de código abierto en mi proyecto. El problema es que hay un mismo nombre de modelo utilizado por dos aplicaciones diferentes con su propia definición de modelo.

Intenté usar:

class Meta: db_table = "db_name" 

pero no funcionó. Todavía recibo un error de conflicto de nombre de campo en syncdb. Alguna sugerencia.

Actualizar

En realidad estoy tratando de integrar Satchmo con Pinax. Y el error es:

Error: Uno o más modelos no validaron:

contact.contact: El accesorio para el campo ‘usuario’ choca con el campo m2m relacionado ‘Usuario.contacto_set’. Agregue un argumento related_name a la definición de ‘usuario’.

friends.contact: Accessor for m2m field ‘users’ choca con el campo relacionado User.contact_set ‘. Agregue un argumento related_name a la definición de ‘usuarios’.

Tienes razón, los nombres de las tablas ya son únicos. Analicé el modelo y el modelo ‘Contacto’ está en dos modelos de dos aplicaciones diferentes. Cuando comento uno de estos modelos, funciona bien.

Puede ser que el error esté allí porque ambas aplicaciones están en PYTHON_PATH y cuando otra aplicación define el modelo con el mismo nombre, se produce el choque.

El problema es que tanto Satchmo como Pinax tienen un modelo de contacto con un ForeignKey para el usuario. Django intenta agregar un atributo de relación inversa “contact_set” al Usuario para cada una de esas ForeignKeys, por lo que hay un conflicto.

La solución es agregar algo como related_name = “pinax_contact_set” como un argumento a ForeignKey en el modelo de contacto de Pinax, o similarmente en el modelo de contacto de Satchmo. Eso requerirá editar la fuente directamente para uno u otro. Es posible que puedas encontrar una manera de hacerlo a través de la simulación, pero espero que sea complicado.