Django i nasleđivanje klasa u modelu
Je l' neko radio sa Djangom ovde?
Da li i kako funkcioniše nasleđivanje klasa u modelu? Ja sam nešto probao, pa nije radilo kako treba (nasleđene klase nisu generisale spoljni ključ na tabelu osnovne klase u bazi). Takođe, nije ferceralo u samoj aplikaciji. Bio sam prinuđen da radim good ol' copy-paste... :( |
Masleđivanje modela još uvek nije implementirano. Upravo se radi na tome.
Pogledaj: ModelInheritance |
Alef je u pravu, mada trenutno postoji hack u zavisnosti od toga šta želiš da postigneš:
1. Za "nasleđivanje" (suštinski proširenje) django.contrib.auth.models.User u svom settings modulu definiši promenljivu AUTH_PROFILE_MODULE na projekat.app.SiteProfile i onda koristiš User.get_profile() kada želiš da dobaviše dodatne informacije 2. Za ostale slučajeve koristi OneToOneField. PS: Izvini Jablane što ti nisam ranije odgovorio, nisam primetio ovu temu :1074: |
Da ne otvaram novu temu .. sinoc mi se nesto nije spavalo, pa odlucim (nakon svih silnih prica na ovom forumu) da instaliram i vidim sta je Django. Iskreno, sa python-om nemam nikakvo iskustvo, nit sam kad gledao kod - nista i to me do sad odbijalo (ono, novi jezik, sta meni to treba bla bla bla.. ) I instaliram i krenem po dokumentaciji - onih par primjera - odusevljen. Sve super, mislim, kao da koristis neki opisni jezik gdje kazes sta i kako zelis i on se postara za sve to generisanje. U sustini 2 sata igranja i poprilicno pozitivni utisci.
Sad me interesuje dojam ljudi koji to koriste malo duze i koji mozda imaju komercijalnih projekata iza sebe : - koliko je to stvarno kvalitetno rjesenje za komercijalne sajtove? Mislim, vidim da se tonu default postavki moze override-ovati i to mi djeluje pozitivno, ali da li je stvarno tako buduci da sam ja zagrebao samo po povrsini? - Da li cu doci u situaciju kad nesto jednostavno nece biti 'izvodljivo' na toj platformi? Obecas ljudima kule i gradove (klijentima) i onda se zapetljas ko pile u kucine. - Koliki je user-community i koliko tesko se rjesavaju problemi 'ispod haube' tj prepravke koje izlaze iz standardnih mogucnosti? Zainteresovalo me poprilicno i bio bih spreman da odvojim vrijeme da ga upoznam bolje, ali bih ipak to radio zbog eventualne komercijalne primjene a ne zabave i dokazivanja radi.. i da ... koliko je stvarno poznavanje python-a neophodno? |
U principu, možeš da uradiš šta god ti padne na pamet, a ako ti nešto od njegovih alata i biblioteka zasmeta u tome, jednostavno ga zaobiđi i nemoj ga koristiti.
U suštini imaš 3 komponente koje čine Django Djangom: 1. URL maper 2. ORM 3. Template jezik Sve ostalo što dolazi uz Django su moduli napravljeni na bazi ove 3 komponente i ne moraš ih koristiti. Čak i od te 3, obavezan si da koristiš samo prvu, tj. mapiranje URL-ova. Ali je ono jedno od najfleksibilnijih koje sam video, tako da sumnjam da ćeš ikada imati problema sa njim. Umesto ORM-a uvek možeš da koristiš klasične SQL upite ili čak da koristiš neki drugi ORM koji ti odgovara, a ista priča važi i za Template-e. Samo što u tom slučaju nećeš moći da koristiš neke stvari koje dolaze sa svim tim u paketu. Dobre stvari si verovatno uvideo i sam, tako da o njima nema neke potrebe pričati... Ja ću reći samo par loših stvari (od kojih se na većini već radi): 1. Python hosting-a nema baš mnogo, pogotovo onih koji podržavaju Django. Pa ako tvoj klient već ima hosting negde, a njegov hosting ne pordžava Django... 2. Sistem autentikacije još uvek nije baš najsrećnije razrešen i ne podržava HTTP autentikaciju definisanu u rfc2616, već samo pomoću Cookie-ja (neka me neko ispravi ako grešim). 3. ORM ne podržava kompozitne primarne ključeve (što dovodi do poteškoća u integraciji sa postojećim bazama podataka). Trenutno ne mogu da se setim više ničeg što je meni zasmetalo u radu... No da rezimiram... Možeš da uradiš sve što ti padne na pamet, ali za neke stvari ćeš morati možda da se spustiš na malo niži nivo... |
Još jedno pitanjce: stekao sam utisak da je onaj njegov admin interfejs prilično neupotrebljiv, osim za unošenje početnih vrednosti u bazu, tokom razvoja. Jesam li u pravu?
|
Nisi. Admin interface je jako fleksibilan pa možeš da ga podesiš prema svojim potrebama, tako da ti bude integralni deo aplikacije. U Ellington-u su uradili upravo to.
|
Odavno me nije bilo ovde, tako da "malo" kasnim ;)
Citat:
Ima nacina da se nesto izvede preko menjanja klasa u letu (radio) ali u vecini slucajeva to je veca muka nego korist. Ja za sada koristim OneToOne relacije i namenski napravljene admin form-ove. Citat:
Citat:
Citat:
Dosta projekata koji su uradjeni u django-u su takodje open source tako da uz malo pretrage moze da se nadje goomila primera. Prepravke ispod haube, ...., xmmmm, posle 0.95 nisam imao potrebe da to radim, ako i dodje do toga to je obicno ispravka nekog bug-a. Citat:
Citat:
Citat:
A i sama autentikacija je najvise vezana za admin interfejs, nista te ne sprecava da definises neki drugi sistem van toga. Citat:
|
Vreme je GMT +2. Trenutno vreme je 16:34. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.