Ho un dispositivo fisso di oggetti "Utente" (solo quelli di Django predefiniti) e sto provando a creare un dispositivo fisso di oggetti "Profilo". Ogni profilo ha una relazione uno-a-uno con un oggetto utente e definisce un po 'più materiale personalizzato per quell'utente.Django - Chiavi estranee nei dispositivi
Per quanto posso dire, il modo normale di gestire le chiavi esterne in un dispositivo è semplicemente l'hardcode della chiave primaria dell'oggetto estraneo nel dispositivo. C'è un modo per evitare di farlo?
Fondamentalmente, sto provando ad avere qualcosa come "utente": username "nella fixture piuttosto che" "user": pk '.
C'è un modo per farlo?
tua soluzione non abbastanza lavoro - per quanto posso dire, il modello auth.user non ha alcun unique_together definita di default, e così ho non è possibile utilizzare le chiavi naturali senza modificare quel file. Posso ottenere ciò che voglio con hardcoding in un valore di chiave primaria per ciascuno nell'apparecchio, ma sembra icky. Mi sto perdendo qualcosa? – numegil
Beh, Unique Together non è _really_ il problema, il problema è che Natural Keys non è definito per il modello, che sembra essere un bug. Sì, hardcoding il PK è la cosa che funziona per ora. Scusa, ho frainteso un po 'il tuo obiettivo e lo ho letto come se stessi lavorando ai tuoi modelli. –
Btw, l'UserManager Django ora definisce una chiave naturale per il nome utente (a partire da 1.10, ma probabilmente risale a molto tempo.) – Eloff