मैं एक एकल ForeignKey
को दो अलग-अलग मॉडल से कनेक्ट करना चाहता हूं।Django में गतिशील विदेशीकी का उपयोग कैसे करें?
उदाहरण के लिए:
मैं Casts
और Articles
नामित दो मॉडल, और एक तीसरे मॉडल, Faves
, अन्य मॉडलों में से किसी पसंदीदा बनाना के लिए की है। मैं 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)
क्या यह संभव है?
+1 मुझे लगता है कि जेनेरिक सामग्री प्रकार, स्वीकृत उत्तर के रूप में, "प्लग करने योग्य" मॉडल के लिए बेहतर हैं जहां आप संबंधों के बारे में कुछ नहीं जानते हैं। आपका उत्तर उन परिस्थितियों के लिए बेहतर है जहां आपके पास सभी मॉडलों का नियंत्रण और पूर्ण ज्ञान है। डेटाबेस पर प्रश्नों और कम हिट लिखना बेहतर है। –
आप कास्ट और आलेख में "null = True" भूल गए हैं FK फ़ील्ड तर्क देता है क्योंकि प्रत्येक फ़ेव इंस्टेंस केवल एक FK फ़ील्ड को कोई भी नहीं सेट करेगा जो type_of_fave फ़ील्ड में सेटिंग से मेल खाता है – Geradeausanwalt