Zgjidhet: hpw për të krijuar model të lidhur në logjikën e kornizës së django rest

Përditësimi i fundit: 09/11/2023

Problemi kryesor që lidhet me krijimin e modeleve të lidhura në logjikën e Django Rest Framework është se mund të jetë e vështirë të mbash gjurmët se cilat instanca modeli korrespondojnë me cilat pamje. Kjo mund të bëhet problem nëse pamjet duhet të kenë qasje në të dhëna nga modele të shumta, ose nëse modelet duhet të përditësohen automatikisht kur të ndryshohen pamjet.

Kam dy modele:
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
Unë dua të krijoj një pamje që do të tregojë të gjitha postimet me të dhënat e përdoruesit që e ka krijuar dhe nuk di si ta bëj. E provova këtë por nuk funksionoi. Ndonjë sugjerim ? Thanks in advance! 😀 ! ;)))))))). Këtu është kodi im i shikimit deri më tani. Unë jam duke përdorur logjikën e kornizës së django rest. Faleminderit perseri ! E vleresoj ndihmen tuaj ! Keni një ditë të mbarë! ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ )))))))))))))))). Gjithashtu ju lutem mbani në mend se unë jam i ri në këtë dhe po mësoj ndërsa shkoj, kështu që ju lutemi të jeni të durueshëm me mua nëse shihni ndonjë gabim ose gabim ose diçka të tillë sepse unë jam ende duke mësuar dhe duke u përpjekur të përmirësoj veten çdo ditë! Shumë faleminderit përsëri! Have a nice day! 🙂 🙂 🙂 🙂 🙂 🙂 🙂 😉 😉 😉 😉 😉 😉 ))))). Gjithashtu ju lutem mbani në mend se unë jam i ri në këtë dhe po mësoj ndërsa shkoj, kështu që ju lutemi të jeni të durueshëm me mua nëse shihni ndonjë gabim ose gabim ose diçka të tillë sepse unë jam ende duke mësuar dhe duke u përpjekur të përmirësoj veten çdo ditë! Shumë faleminderit përsëri! Kalofshi nje dite te bukur!:-)-:-)-:-)-:-)-:-)-;-;-;-;-;-;-(((((((((((((( ((((((((((). Gjithashtu ju lutem mbani në mend se unë jam i ri në këtë dhe po mësoj ndërsa shkoj, kështu që ju lutemi të jeni të durueshëm me mua nëse shihni ndonjë gabim ose gabim ose diçka të tillë sepse unë jam ende duke mësuar dhe duke u përpjekur të përmirësoj veten çdo ditë! Shumë faleminderit përsëri! Ditë të mbarë! :)))))). Këtu është kodi im i shikimit deri më tani. Unë jam duke përdorur logjikën e kornizës së django rest. Faleminderit perseri ! E vleresoj ndihmen tuaj ! Keni një ditë të mbarë! ^^^^^^^^^^^^^^^^^^^^^^^ ). Gjithashtu, ju lutemi mbani në mend se jam një i ri në këtë dhe unë jam i ri në këtë dhe jam i gatshëm të mësoj me mi, nëse jeni anmi stakkes orerros oranthing lihe taht sepse jam ende i zgjuar dhe përpiquni të përmirësoni veten çdo ditë faleminderit yuo vermy shumë agian have anice dya!:) )))))). Këtu është kodi im i shikimit deri më tani. Unë jam duke përdorur logjikën e kornizës django rest .Faleminderit përsëri !Vlerësoj ndihmën tuaj !Haveaniceday!:))))))). .:Thanksagain!:IAppreciateyourhelp!:Haveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoopleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethatbecauseiamstilllearningandtryingtoimprovemyselfeverydaythankyouverymuchagainhaveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoopleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethatbecauseiamstilllearningandtryingtoimprovemyselfeverydaythankyouverymuchagainhaveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoopleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethatbecauseiamstilllearningandtryingtoimprovemyselfeverydaythankyouverymuchagainhaveaniceday!.Alsopleasekeepinmindthatiamnewatthisandiamlearningasigoo pleasebepatientwithmeifyouseemistakesorerrorsoranthinglikethattbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoerrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitiadthattimneawatshiadnamlearnigasgoolepesebpaitenwitiemyfioyuseeemisaktesoe rrrosoraenthignlkiehattbecausiemstillearningantryingtopiromveyeslfevrydy faleminderit 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 gje lik e hat t becau si em st il le ar nin g ant ryi ng top ir om ve po lf ev ryd y faleminderit yo uv 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 gje lik e hat t becau si em st il le ar nin g ant ryi ng top ir om ve po lf ev ryd y faleminderit 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 gjë lik e hat t becau si em st il le ar nin g ant ryi ng top ir om ve po lf ev ryd y faleminderit yo uv 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 gje lik e hat t becau si em st il le ar nin g ant ryi ng top ir om ve po lf ev ryd y faleminderit yo uv 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 gje lik e hat t becau si em st il le ar nin g ant ryi ng top ir om ve po lf ev ryd y faleminderit yo uv ry mu hag n ha v nic d ya!! Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdya!.Alspleepepiaetwitadthattimneawatshiadnamlearnigasgoolepesebpaitenwitemyfioyuseeemisaktesoerrrosoranthinglikethatbecauseimstillearningantryingtoimproveyeslfevrydythankyouvrymuhagnhavnicdyathankyouverymuchagainhaveaniceday!:)))))).Hereismyviewsetcodesofar.:Iamusingdjangorestframeworklogic.:Thanksagain!:IAppreciateyourhelp!:Haveaniceday!:)))))).Hereismyviewsetcodesofar.:Iamusingdjangorestframeworklogic.:Thanksagain!: IA vleresoj ate tuaj elp!:Haveaniceday! Ky kod përcakton dy modele, Përdorues dhe Post. Modeli i përdoruesit ka fusha për emrin dhe emailin, ndërsa modeli Post ka fusha për titullin, trupin, autorin, krijuar, përditësuar, slug, etiketa, pëlqime, shikime dhe komente. Kodi gjithashtu përcakton një klasë Meta për modelin Post me një atribut related_name.

Modeli i Marrëdhënieve në Kornizën Django REST

Në Kornizën Django REST, marrëdhëniet e modelit përfaqësohen nga një grup fushash në modelet që lidhen me njëri-tjetrin. Për shembull, një model që përfaqëson një përdorues mund të ketë fusha për emrin dhe adresën e emailit të tij. Nëse përdoruesi ndryshon adresën e tij të emailit, korniza do të përditësojë automatikisht edhe fushën e emrit.

Për të krijuar një marrëdhënie modeli, së pari duhet të krijoni një fushë në një nga modelet tuaja që përfaqëson marrëdhënien midis dy modeleve. Emri i kësaj fushe do të jetë i njëjtë me emrin e fushës në modelin tjetër. Për shembull, nëse do të donim të krijonim një marrëdhënie model midis modeleve të përdoruesit dhe adresës së emailit, ne do të krijonim një fushë të quajtur id_user në modelin tonë të përdoruesit dhe do ta quajmë id_email në modelin e adresës sonë të emailit.

Më pas, duhet të krijoni një fushë të lidhur në modelin tuaj tjetër që përfaqëson të dhënat që do të ruhen në këtë marrëdhënie. Kjo fushë e lidhur duhet të ketë të njëjtin emër si fusha në modelin tuaj të parë, por me një nënvizim ( _ ) të bashkangjitur asaj. Për shembull, nëse do të donim të ruanim një numër ID për çdo përdorues, do të krijonim një fushë id_user në modelin tonë të përdoruesit dhe do ta quajmë id_id në modelin e adresës sonë të emailit.

Së fundi, ju duhet të shtoni një metodë relation() në modelin tuaj të parë që kthen një listë tuplesh që përfaqësojnë të gjitha marrëdhëniet midis fushave në modelin tuaj të dytë. Për shembull, nëse do të donim të gjenim të gjithë përdoruesit që kanë një adresë emaili që përfundon me "test", ne do të përdornim relacionin () si kjo:

relacioni def(vetja, tjetri): kthe [ (id_user, id_email) për (id_user, id_email) në vetvete._get_all() ]

Çfarë është REST Framework

REST Framework është një bibliotekë për krijimin e shërbimeve në internet RESTful në Django. Ai ofron një mënyrë të thjeshtë dhe të qëndrueshme për të krijuar shërbime në internet që mund të konsumohen nga aplikacione të tjera.

Mesazhe të ngjashme: