Estoy intentando heredar el modelo en mi sitio con Django para cumplir con DRY. Mi objetivo es utilizar una clase base abstracta llamada BasicCompany para proporcionar la información común para tres clases secundarias: Butcher, Baker, CandlestickMaker (están ubicadas en sus propias aplicaciones con sus respectivos nombres).Herencia abstracta de la clase base en Django con la clave externa
Cada una de las clases secundarias necesita una cantidad variable de cosas como direcciones de correo electrónico, números de teléfono, URL, etc., cuyo número va desde 0 en adelante. Así que quiero una relación de muchos a uno/ForeignKey entre estas clases y la empresa a la que se refieren. Esto es más o menos lo que me imagino BasicCompany/models.py mirando como:
from django.contrib.auth.models import User
from django.db import models
class BasicCompany(models.Models)
owner = models.ForeignKey(User)
name = models.CharField()
street_address = models.CharField()
#etc...
class Meta:
abstract = True
class EmailAddress(models.model)
email = models.EmailField()
basiccompany = models.ForeignKey(BasicCompany, related_name="email_addresses")
#etc for URLs, PhoneNumbers, PaymentTypes.
Lo que no sé hacer es heredar EMAILADDRESS, URLs, números telefónicos (etc) en las clases hijas. ¿Se puede hacer, y si es así, cómo? De lo contrario, agradecería su consejo sobre soluciones temporales.
Gracias Daniel. Estuve mirando tipos de contenido y relaciones genéricas ayer, pero realmente no hizo clic. Voy a probarlo ahora y ver si resuelve el problema. –