Django - Duda con relaciones de modelos

 
Vista:
Imágen de perfil de Mileidy
Val: 1
Ha aumentado 1 puesto en Django (en relación al último mes)
Gráfica de Django

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

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder