Wenn wir ein Profil einrichten, wie Django empfiehlt:Django Fremdkörper löschen?
class Profile(models.Model):
user = models.ForeignKey(User, unique=True)
Dann, wenn Sie das Objekt User
von Django Admin löschen, sein Profil löscht too.This ist, weil das Profil einen Fremdschlüssel Benutzer hat und es will um referentielle Integrität zu schützen. Allerdings möchte ich diese Funktionalität, auch wenn der Zeiger in die andere Richtung geht. Zum Beispiel auf meiner Profile
Klasse I haben:
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')
Und ich will es so, dass, wenn Sie die Profile
löschen werde es die zugehörigen Absender/Träger/Affiliate-Objekte löschen (fragen Sie mich nicht warum Django gemacht " Affiliate "irgendein seltsames Schlüsselwort". Weil Versender, Spediteure und Affiliates Arten von Benutzern sind und es keinen Sinn ergibt, dass sie ohne den Rest der Daten existieren (niemand könnte sich als ein Benutzer anmelden).
Der Grund, warum ich nicht die Schlüssel auf den anderen Objekten gelegt hat, denn dann würde Django intern haben kommen alle diese Tabellen jedes Mal, wenn ich welche Art der Benutzer war ...
"Affiliate" ist sicherlich nicht "irgendeine Art von seltsamen Schlüsselwort" in Django. Ich kann ein Modell mit einem Feld namens "affiliate" erstellen und in meinem Code gut damit arbeiten. –
Das ist sehr seltsam. Alles funktioniert gut, aber es weigert sich, im Admin-Bereich zu erscheinen. Hast du das überprüft? SVN Checkout wie vor einer Woche. – mpen