Estimados, tengo un problema que no se como resolver.
Tengo de clases una Servers(servidores) y otra Farms(granjas).
La clase Server tiene el siguiente atributo:
application = models.CharField(max_length=200)

La clase Farms tiene una relacion many to many con Servers.

La idea es que los Servers que pertenezcan a la misma Farms tengan las
mismas aplicaciones y que no puedan modificarse de manera individual.

Ejemplo:

Hostname: sodio, plata y silicio pertenecen a la misma granja (quimicos) y
todos tienen la misma aplicacion "inventario"

Si modifico la aplicacion de la granja quimico, automaticamente se cambien
los datos de application de los Servers sodio, plata y silicio.
En forma seudo codigo seria asi:
SI modifico application en Farm ENTONCES modificar Application en cada uno
de los servidores asociados a FARM
SI Servers pertenece a una FARM ENTONCES poner readonly_fields =
('application',)


Gracias y espero que se haya entendido.

Las clases involucradas son

class Server(models.Model):
    server_id = models.AutoField(primary_key=True)
    sn = models.CharField(max_length=50, verbose_name="Numero de Serie")
    hostname = models.CharField(max_length=50)
    cpu_qty = models.SmallIntegerField(verbose_name="Cantidad de Cpus")
    application = models.CharField(max_length=200)

class Farm(models.Model):
    farm_id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50,verbose_name="Nombre")
    TIPO = (
        ('Interna', 'Interna'),
        ('Externa', 'Externa'),
    )
    type = models.CharField(max_length=10, choices=TIPO,verbose_name="Tipo")
    server = models.ManyToManyField(Server)
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

Responder a