O biblioteca pentru a integra cadrele minunate Django REST Framework si SQLAlchemy
- Software gratuit: licenta MIT
- Suporta SQLAlchemy 0.7.8 si mai sus
- Testat cu Django 1.4
Caracteristici
- Ofera implementarea verbului GET pentru modelele SQLAlchemy
- Listeaza, filtreaza si pagineaza mai multe randuri
- Obtineti un singur obiect cu obiecte imbricate ca URI-uri complete
- Suporta mai multe chei primare
- Ofera abilitatea de a folosi clase „Manager” ca sa lucreze cu modelele SQLAlchemy
- Suporta atat stiluri declarative, cat si stiluri clasice
Instalati dependente
Rulati teste
Utilizare
Notiuni de baza
Presupunand ca aveti un model SQLAlchemy definit mai jos:
Definiti clasa „manager” pentru a lucra la modelul de mai sus ::
SessionMixin ofera doar o modalitate convenabila de a initializa sesiunea SQLAlchemy. Puteti realiza acelasi lucru definind init si setand instanta self.session
Definiti setul de vizualizari Django REST si specificati clasa managerului ::
In cele din urma, inregistrati routerele asa cum ati face in mod normal folosind Django REST ::
Paginare
Paginarea functioneaza exact ca Django REST Framework (si Django). Cu conditia ca setul dvs. de vizualizari sa aiba campul paginate_by setat, treceti numarul paginii in sirul de interogare ::
- A 5-a pagina curl -v http: // server / api / declmodels /? Page = 5
- Ultima pagina curl -v http: // server / api / declmodels /? Page = last
- Prima pagina curl -v http: // server / api / declmodels /
Filtre
Filtrele functioneaza exact ca Django REST Framework. Treceti perechea de valori de camp in sir de interogare.
curl -v http: // server / api / declmodels /? field = value
Utilizare avansata
Mai multe chei primare
Pentru a utiliza un fel de identificator in URI, biblioteca incearca sa utilizeze urmatoarea logica.
follando con las vecinas suegras peludas
follada a traicion madres cachondas
porno portugues muy tetonas
pajotes porno gratis abuelos
argentina follada videos porno xxx incesto
cerdas com gratis porno argumento
porno traducido al español viejas calientes
realincest folladas caseras reales
videos madres lesbianas pornoamater
xxporn masaje final feliz
putas en vic incesto real madre hijo
videos porno abuelas videos gays españoles
porno español creampie porno abuelas tetonas
follada por muchos follate a mi novia
jovenes zorras vecinas cachondas
casadas cachondas penes erectos
jovencitas peludas follando videos chicas gratis
se corre dentro de su prima casting porno español
follar con jovencitas porno gay violacion
cornudos consentidos porno casero colombiano
- Daca se gaseste o singura cheie primara, folositi-o! A fost simplu ..
- Pentru mai multe chei, incercati sa gasiti un camp cu conventia „model_id”
- Daca nu este gasit, vedeti daca modelul are variabila de clasa „pk_field”
- Daca nu este gasit, ridicati KeyNotFoundException
In plus, pentru a accepta mai multe chei primare care nu pot fi gazduite in URI, setul de vizualizari trebuie sa inlocuiasca metoda get_other_pks si sa returneze inapoi dictionarul de chei primare. Exemplu::
Manager fabrica
Setul de vizualizari AlchemyModelViewSet de baza ofera o modalitate de a suprascrie instantierea managerului. Exemplu::
Modele introduse
Aceasta biblioteca recomanda utilizarea routerelor drf-imbricate pentru implementarea modelelor copil imbricate. Exemplu::
Pentru mai multe detalii, consultati documentatia drf-imbricate-routere.
Metode personalizate
DRF permite adaugarea de metode personalizate, altele decat lista implicita, recuperarea, crearea, actualizarea si distrugerea utilizand decoratorul @action. Cu toate acestea, daca aveti manageri, puteti pur si simplu sa furnizati metode de actiune in manager si sa specificati metodele de actiune utilizand campul action_methods Metodele trebuie sa returneze starea corespunzatoare pentru harta de mai jos.
curl -X POST http: // server / api / declmodels / 1 / do_something /
API numai in citire
Daca aveti nevoie doar de metoda GET si nu doriti sa expuneti / sustineti POST / PUT / DELETE, atunci puteti utiliza djangorest_alchemy.routers.ReadOnlyRouter in loc de DefaultRouter
Exemple
Folderul de exemple demonstreaza un exemplu din lumea reala folosind Cars and Parts ca modele de obiecte.
Rulati urmatoarea comanda la fel cum ati rula in mod normal un proiect Django:
Apoi tastati urmatoarele in browserul dvs. preferat:








