Desidero collegare un singolo ForeignKey
a due modelli diversi.Come utilizzare la foreignkey dinamica in Django?
Ad esempio:
Ho due modelli denominati Casts
e Articles
, e un terzo modello, Faves
, per favoriting uno degli altri modelli. Come posso rendere dinamico il ForeignKey
?
class Articles(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
class Casts(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
class Faves(models.Model):
post = models.ForeignKey(**---CASTS-OR-ARTICLES---**)
user = models.ForeignKey(User,unique=True)
È possibile?
+1 Penso che i tipi di contenuti generici, come nella risposta accettata, siano migliori per i modelli "collegabili" in cui non si conosce nulla delle relazioni. La tua risposta è migliore per le situazioni in cui hai il controllo e la conoscenza completa di tutti i modelli. Migliore significa più facile scrivere query e meno risultati nel database. –
Hai dimenticato "null = True" nel cast e il campo FK dell'articolo args perché ogni istanza di Fave non imposterà il solo campo FK su Nessuno che corrisponde all'impostazione nel campo type_of_fave – Geradeausanwalt