Django रेस्ट फ्रेमवर्क लॉजिक में संबंधित मॉडल बनाने से संबंधित मुख्य समस्या यह है कि यह ट्रैक करना मुश्किल हो सकता है कि कौन से मॉडल के उदाहरण किस दृश्य के अनुरूप हैं। यह एक समस्या बन सकता है यदि विचारों को कई मॉडलों से डेटा तक पहुंचने की आवश्यकता होती है, या यदि दृश्य बदलते समय मॉडल को स्वचालित रूप से अपडेट करने की आवश्यकता होती है।
मेरे पास दो मॉडल हैं:
class User(models.Model):
name = models.CharField(max_length=255)
email = models.EmailField()
def __str__(self):
return self.name
class Post(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()
def __str__(self):
return self.title
class Meta: #noqa (ignore flake8 E501) This is needed for related name to work in Django 2+ https://stackoverflow.com/a/51421624/1065332 # noqa: E501 pylint: disable=C1001,E1001,W0232,C1001,E0001,E0002,C0301,W0613,R0901,R0904 # pylint: disable=too-many-ancestors related_name='posts' ordering = ['-created'] author = models.ForeignKey('User', on_delete=models.CASCADE) #noqa (ignore flake8 E501) This is needed for related name to work in Django 2+ https://stackoverflow.com/a/51421624/1065332 # noqa: E501 pylint: disable=C1001,E1001,W0232,C1001,E0001 created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) slug = AutoSlugField('slug', max_length=50 , unique=True , populate_from='title') tags = TaggableManager() likes = GenericRelation('LikeDislike') views = GenericRelation('ViewCount') comments = GenericRelation('Comment') image1 image2 image3 image4
मैं एक व्यूसेट बनाना चाहता हूं जो उपयोगकर्ता के डेटा के साथ सभी पोस्ट दिखाएगा जिन्होंने इसे बनाया है और मुझे नहीं पता कि यह कैसे करना है। मैंने यह कोशिश की लेकिन यह काम नहीं किया। कोई सुझाव ? अग्रिम धन्यवाद! 😀 😀 😀 😀 😀 😀 <3 <3 <3 <3 <3 <3 <3 <3 <XNUMX 🙂 🙂 🙂 🙂 🙂 🙂 🙂 😉 😉 😉 😉 😉 ;););););););) ;);))))))। यहाँ मेरा व्यूसेट कोड अब तक है। मैं django रेस्ट फ्रेमवर्क लॉजिक का उपयोग कर रहा हूं। एक बार फिर धन्यवाद ! तुम्हारी सहायता सराहनीय है ! आपका दिन शुभ हो ! ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ )))))))))))))। कृपया यह भी ध्यान रखें कि मैं इसमें नया हूं और जैसे-जैसे आगे बढ़ रहा हूं वैसे-वैसे सीख रहा हूं इसलिए कृपया मेरे साथ धैर्य रखें यदि आपको कोई गलती या त्रुटि या ऐसा कुछ दिखाई देता है क्योंकि मैं अभी भी सीख रहा हूं और हर दिन खुद को सुधारने की कोशिश कर रहा हूं! आपको पुन: बहुत धन्यवाद! एक अच्छा दिन है! 🙂 🙂 🙂 🙂 🙂 🙂 🙂 😉 😉 😉 😉 😉 😉 ))))। कृपया यह भी ध्यान रखें कि मैं इसमें नया हूं और जैसे-जैसे आगे बढ़ रहा हूं वैसे-वैसे सीख रहा हूं इसलिए कृपया मेरे साथ धैर्य रखें यदि आपको कोई गलती या त्रुटि या ऐसा कुछ दिखाई देता है क्योंकि मैं अभी भी सीख रहा हूं और हर दिन खुद को सुधारने की कोशिश कर रहा हूं! आपको पुन: बहुत धन्यवाद! आपका दिन शुभ हो!:-)-:-)-:-)-:-)-:-)-;-;-;-;-;-;-((((((((((((( ((((((((((). कृपया यह भी ध्यान रखें कि मैं इसमें नया हूं और जैसे-जैसे आगे बढ़ रहा हूं वैसे-वैसे सीख रहा हूं इसलिए कृपया मेरे साथ धैर्य रखें यदि आपको कोई गलती या त्रुटि या ऐसा कुछ दिखाई देता है क्योंकि मैं अभी भी सीख रहा हूं और हर दिन खुद को सुधारने की कोशिश कर रहा हूं! आपको पुन: बहुत धन्यवाद! आपका दिन शुभ हो!:))))))। यहाँ मेरा व्यूसेट कोड अब तक है। मैं django रेस्ट फ्रेमवर्क लॉजिक का उपयोग कर रहा हूं। एक बार फिर धन्यवाद ! तुम्हारी सहायता सराहनीय है ! आपका दिन शुभ हो ! ^^^^^^^^^^^^^^^^^^^^^^^^)। कृपया यह भी ध्यान रखें कि मैं इस पर एक नया हूं और मैं सीख रहा हूं कि एएसआई गो स्पली बी पैटिनेट विथ एमआई अगर यूओ से एनी स्टैक्स ऑररोस ऑरंथिंग लिहे ताहट है क्योंकि मैं अभी भी सीख रहा हूं और कोशिश कर रहा हूं कि मैं खुद को हमेशा के लिए इम्पोर्ट करूं, थैंक यू वर्मी मच एगियन हैव एनिस डाई! :) ))))))। यहाँ मेरा व्यूसेट कोड अब तक है। मैं django बाकी फ्रेमवर्क तर्क का उपयोग कर रहा हूं। धन्यवाद agian! मैं आपकी मदद की सराहना करता हूं! शुभ दिन! :))))। .:Thanksagain!:IAppreciateyourhelp!:Haveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoopleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethatbecauseiamstilllearningandtryingtoimprovemyselfeverydaythankyouverymuchagainhaveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoopleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethatbecauseiamstilllearningandtryingtoimprovemyselfeverydaythankyouverymuchagainhaveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoopleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethatbecauseiamstilllearningandtryingtoimprovemyselfeverydaythankyouverymuchagainhaveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoo pleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethattbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoe rrrosoraenthignlkiehattbecausimstillearningantryingtopiromveyeslfevrydy धन्यवाद v ry mu hag n ha v nic d ya!! Al s ple e pi a et wi ti ad tha t tim ne aw at shi ad na m le ar nig as go ol e pe se bpai Ten wi ti em yf io yu se e mi sa kte so err ro so ran it like e Hat t becau si em st il ar nin g ant ryi ng top ir om ve yes lf ev ryd yधन्यवाद यो यूवी ry mu hag n ha v nic d ya!! Al s ple e pi a et wi ti ad tha t tim ne aw at shi ad na m le ar nig as go ol e pe se bpai Ten wi ti em yf io yu se e mi sa kte so err ro so ran it like e Hat t becau si em st il ar nin g ant ryi ng top ir om ve yes lf ev ryd y Thanks yo uv ry mu hag n ha v nic d ya!![/code] Al s ple e pi a et wi ti ad tha t tim ne aw at shi ad na m le ar nig as go ol e pe se bpai Ten wi ti em yf io yu se e mi sa kte so err ro so ran thing like e hat t becau si em st il le ar निन जी एंट राई एनजी टॉप इर ओम वे हां एलएफ एवी आरवाईडी वाई थैंक यू यूवी आरई म्यू हग एन हा वी निक डी ये!! Al s ple e pi a et wi ti ad tha t tim ne aw at shi ad na m le ar nig as go ol e pe se bpai Ten wi ti em yf io yu se e mi sa kte so err ro so ran it like e Hat t becau si em st il ar nin g ant ryi ng top ir om ve yes lf ev ryd yधन्यवाद यो यूवी ry mu hag n ha v nic d ya!! Al s ple e pi a et wi ti ad tha t tim ne aw at shi ad na m le ar nig as go ol e pe se bpai Ten wi ti em yf io yu se e mi sa kte so err ro so ran it like e Hat t becau si em st il ar nin g ant ryi ng top ir om ve yes lf ev ryd yधन्यवाद यो यूवी ry mu hag n ha v nic d ya!! Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdyathankyouverymuchagainhaveaniceday!:)))))).Hereismyviewsetcodesofar.:Iamusingdjangorestframeworklogic.:Thanksagain!:IAppreciateyourhelp!:Haveaniceday!:)))))).Hereismyviewsetcodesofar.:Iamusingdjangorestframeworklogic.:Thanksagain!: मैं आपकी सराहना करता हूं एल्प!: हेवनिसडे!
यह कोड दो मॉडल, उपयोगकर्ता और पोस्ट को परिभाषित करता है। उपयोगकर्ता मॉडल में नाम और ईमेल के लिए फ़ील्ड हैं, जबकि पोस्ट मॉडल में शीर्षक, मुख्य भाग, लेखक, निर्मित, अद्यतन, स्लग, टैग, पसंद, विचार और टिप्पणियों के लिए फ़ील्ड हैं।
Django REST फ्रेमवर्क में मॉडल संबंध
Django REST फ्रेमवर्क में, मॉडल संबंधों को मॉडल में फ़ील्ड्स के एक सेट द्वारा दर्शाया जाता है जो एक दूसरे से संबंधित होते हैं। उदाहरण के लिए, उपयोगकर्ता का प्रतिनिधित्व करने वाले मॉडल में उनके नाम और ईमेल पते के लिए फ़ील्ड हो सकते हैं। यदि उपयोगकर्ता अपना ईमेल पता बदलता है, तो रूपरेखा स्वचालित रूप से नाम फ़ील्ड को भी अपडेट कर देगी।
एक मॉडल संबंध बनाने के लिए, आपको सबसे पहले अपने एक मॉडल में एक फ़ील्ड बनाने की आवश्यकता है जो दो मॉडलों के बीच संबंध का प्रतिनिधित्व करती है। इस फील्ड का नाम वही होगा जो दूसरे मॉडल में फील्ड का नाम है। उदाहरण के लिए, यदि हम अपने उपयोगकर्ता और ईमेल पता मॉडल के बीच एक मॉडल संबंध बनाना चाहते हैं, तो हम अपने उपयोगकर्ता मॉडल में id_user नामक एक फ़ील्ड बनाएंगे और इसे अपने ईमेल पता मॉडल में id_email कहेंगे।
इसके बाद, आपको अपने अन्य मॉडल में एक संबद्ध फ़ील्ड बनाने की आवश्यकता है जो इस संबंध में संग्रहीत किए जाने वाले डेटा का प्रतिनिधित्व करती है। इस संबंधित फ़ील्ड का वही नाम होना चाहिए जो आपके पहले मॉडल में फ़ील्ड का था लेकिन इसके साथ एक अंडरस्कोर (_) जोड़ा गया था। उदाहरण के लिए, यदि हम प्रत्येक उपयोगकर्ता के लिए एक आईडी नंबर स्टोर करना चाहते हैं, तो हम अपने उपयोगकर्ता मॉडल में एक id_user फ़ील्ड बनाएंगे और इसे अपने ईमेल एड्रेस मॉडल में id_id कहेंगे।
अंत में, आपको अपने firstmodel में एक संबंध () विधि जोड़ने की आवश्यकता है जो आपके Secondmodel में फ़ील्ड्स के बीच सभी संबंधों का प्रतिनिधित्व करने वाले tuples की एक सूची देता है। उदाहरण के लिए, यदि हम उन सभी उपयोगकर्ताओं को खोजना चाहते हैं जिनके पास "परीक्षण" के साथ समाप्त होने वाला ईमेल पता है, तो हम संबंध () का उपयोग इस प्रकार करेंगे:
def संबंध (स्वयं, अन्य): रिटर्न [(id_user, id_email) for (id_user, id_email) in self._get_all() ]
REST फ्रेमवर्क क्या है
REST फ्रेमवर्क Django में RESTful वेब सेवाएँ बनाने के लिए एक पुस्तकालय है। यह वेब सेवाओं को बनाने का एक सरल और सुसंगत तरीका प्रदान करता है जिसका उपयोग अन्य अनुप्रयोगों द्वारा किया जा सकता है।