On Fri, Jun 25, 2010 at 6:22 PM, Rodrigo Roldan <[email protected]> wrote:
> Estoy utilizando django.
> Tengo 3 tablas postgresql.
>
> Servers
> servers_id
> desc
>
> farms_servers
> servers_id
> farms_id
>
> farms
> Farms_id
> desc
>
> El tema es que no entiendo como llenar la tabla farms_servers.
> Yo hago lo siguiente:
>
> class Farms(models.Model):
> farm_id = models.IntegerField(primary_key=True)
>
> class Servers(models.Model):
> server_id = models.IntegerField(primary_key=True)
> farm_id = models.ManyToManyField(Farms)
>
> class FarmsServers(models.Model):
> server = models.ForeignKey(Servers)
> farm = models.ForeignKey(Farms)
> class Meta:
> db_table = u'farms_servers'
>
> Pero me tira error
>
> Exception Value:
>
1) No hace falta que declares la clase FarmServers lo hace solo, en tu
caso django no sale que FarmServers es la tabla asociativa, la que
busca es: server_farms por lo que veo.. para hacerlo funcionar de esa
manera tenes que hacerlo asi[0]
2) Las clases van en singular.
3) Si lo que tenes es un modelo generado con inspectdb, podés cambiar
el nombre de los campos para hacerlo mas "django friendly", ya que
generalmente cuando hay una foreingkey django siempre agrega el _id al
campo, al menos que le especifiques un nombre de campo alternativo.
[0]
class Servers(models.Model):
server_id = models.IntegerField(primary_key=True)
farm_id = models.ManyToManyField(Farms , through="FarmServer")
Saludos
SKA
Lanux - Grupo de usuarios de GNU/Linux de Lanus
Visitanos en: http://www.lanux.org.ar
Reglas de etiqueta para el posteo de mensajes a la lista:
http://www.lanux.org.ar/?page_id=35
Articulos y noticias por rss:
http://www.lanux.org.ar/?feed=rss2
Lanux por irc:
irc.freenode.net -> #lanux.
_______________________________________________
General mailing list
[email protected]
http://listas.lanux.org.ar/cgi-bin/mailman/listinfo/general