Duda con relaciones de modelos
Publicado por Mileidy (1 intervención) el 20/11/2018 05:40:24
Hola!
Literalmente soy muy nueva en esto de Django, sin embargo me propuse hacer un proyecto pequeño y ya estoy teniendo dudas.
Tengo las siguientes tablas: ['empresa', 'sucursal', 'persona', 'proveedor', 'telefono']
Quiero hacer una relacion de 1 a muchos.. es decir:
- Una empresa tiene 1 o muchos telefonos
- Una sucursal tiene 1 o muchos telefonos
- Un proveedor tiene 1 o muchos telefonos
- Un cliente tiene 1 o muchos telefonos
Pero no sé como hacer esa referencia en Django.
Quisiera que exisitera algo como polimorfismo o alias. que pueda decir..
Una empresa tiene muchos telefonos as: Owner
De manera que en la tabla telefonos solo tuviera los atributos..
Owner_id y numero_telefono... y que internamente en la tabla se tuviera un registro de cual es la tabla original a la que esta enlazada, bien sea Empresa, sucursal, persona, proveedor o cliente.
Sé que esto se puede hacer en Ruby on rails, pero no sé si se puede hacer en Django y no tengo idea de como buscar la respuesta en google.
No creo que este bien, colocar esto en el modelo Telefono
como podria hacer esta relación??
Literalmente soy muy nueva en esto de Django, sin embargo me propuse hacer un proyecto pequeño y ya estoy teniendo dudas.
Tengo las siguientes tablas: ['empresa', 'sucursal', 'persona', 'proveedor', 'telefono']
Quiero hacer una relacion de 1 a muchos.. es decir:
- Una empresa tiene 1 o muchos telefonos
- Una sucursal tiene 1 o muchos telefonos
- Un proveedor tiene 1 o muchos telefonos
- Un cliente tiene 1 o muchos telefonos
Pero no sé como hacer esa referencia en Django.
Quisiera que exisitera algo como polimorfismo o alias. que pueda decir..
Una empresa tiene muchos telefonos as: Owner
De manera que en la tabla telefonos solo tuviera los atributos..
Owner_id y numero_telefono... y que internamente en la tabla se tuviera un registro de cual es la tabla original a la que esta enlazada, bien sea Empresa, sucursal, persona, proveedor o cliente.
Sé que esto se puede hacer en Ruby on rails, pero no sé si se puede hacer en Django y no tengo idea de como buscar la respuesta en google.
No creo que este bien, colocar esto en el modelo Telefono
1
2
3
4
5
6
7
8
9
class Phone(models.Model):
phone_number = models.IntegerField()
OPTIONS_PHONE = (('cellphone','Célular'),('local', 'Local'),)
phone_type = models.CharField(max_length=10, choices=OPTIONS_PHONE, default='cellphone',)
company = models.ForeignKey(Company, on_delete=models.CASCADE)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
provider = models.ForeignKey(Provider, on_delete=models.CASCADE)
brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
client = models.ForeignKey(Client, on_delete=models.CASCADE)
como podria hacer esta relación??
Valora esta pregunta
0