Si hemos creado un perfil de cómo Django recomienda:Django ¿eliminar objeto extraño?
class Profile(models.Model):
user = models.ForeignKey(User, unique=True)
A continuación, cuando se elimina el objeto User
de Django admin, borra sus too.This perfil es debido a que el perfil tiene una clave externa para el usuario y que quiere para proteger la integridad referencial. Sin embargo, quiero esta funcionalidad incluso si el puntero va por el otro lado. Por ejemplo, en mi clase Profile
tengo:
shipper = models.ForeignKey(Shipper, unique=True, blank=True, null=True)
carrier = models.ForeignKey(Carrier, unique=True, blank=True, null=True)
affiliat = models.ForeignKey(Affiliate, unique=True, blank=True, null=True, verbose_name='Affiliate')
Y lo quiero de manera que si se elimina el Profile
que va a eliminar el expedidor/transportista/objetos de afiliados asociados (no me pregunte por qué Django hizo " afiliarse a "alguna palabra clave extraña". Debido a que los expedidores, transportistas y afiliados son tipos de usuarios, y no tiene sentido que existan sin el resto de los datos (nadie podría iniciar sesión como uno solo).
La razón por la que no he puesto las llaves en los otros objetos, es porque entonces Django tendría que unirse internamente todas esas tablas cada vez que quería comprobar qué tipo de usuario era ...
"afiliado" ciertamente no es "algún tipo de palabra clave extraña" en Django. Puedo crear un modelo con un campo llamado "afiliado" y trabajar con él perfectamente en mi código. –
Eso es muy raro. Todo funciona bien, pero se niega a aparecer en la sección de administración. ¿Lo revisaste? SVN checkout como hace una semana. – mpen