Django REST Vrajitorie
Integrarea Django REST Framework cu SQLAlchemy
django-rest-witchcraft este o extensie pentru Django REST Framework care adauga suport pentru SQLAlchemy. Acesta isi propune sa ofere o experienta de dezvoltare similara cu construirea API-urilor REST cu Django REST Framework cu Django ORM, cu exceptia SQLAlchemy.
Instalare
pip instaleaza django-rest-vrajitorie
Pornire rapida
In primul rand, sa definim cateva modele simple:
xxx gratis en español follando rico
mamadas por dinero pornoxxxxx
follando a mi hija porno español jovencitas
se folla a su cuñada comic porno español
hombres pajeandose videos porno abuelas
folladoras cincuentonas follando
porno español años 70 xxx abuelas
todoporno pono gay
suegras peludas danna paola desnuda
copilacion de mamadas culos porno
porno gay españoles corridas en la garganta
madres haciendo pajas a sus hijos chochitos jovencitos
penes enormes orgias caseras
randy dave intercambio parejas amateur
comiendo tetas el video porno mas visto en internet
masajes eroticos chinos follando en el campo
maduras gordas desnudas pajas caseras
porno casero colombiano cachondas españolas
porno muy duro me hace una paja
super maduras videos porno caseros españoles
Column (sa.Integer (), primary_key = True, autoincrement = True) email_address = sa.Column (sa.String (), nullable = False) _user_id = sa.Column (sa.Integer (), sa.ForeignKey (‘users.id’)) user = sa.orm.relation (User, backref = ‘adresele’) Base.metadata.create_all (motor)
Nimic extraordinar aici, avem o clasa de utilizator care poate apartine unei instante de grup si are multe instante de adresa
Acest serializator poate gestiona operatiuni de creare, actualizare sau actualizare partiala imbricate.
Sa definim un serializator pentru utilizator cu toate campurile:
Aceasta va crea urmatorul serializator pentru noi:
>>> serializator = UserSerializer () >>> serializator UserSerializer (): id = IntegerField (allow_null = False, help_text = None, label = ‘Id’, required = True) name = CharField (allow_null = True, help_text = None, label = ‘Name’, max_length = None, required = False) fullname = CharField (allow_null = True, help_text = None, label = ‘Fullname’, max_length = None, obligatoriu = False) password = CharField (allow_null = True, help_text = None, label = ‘Password’, max_length = None, required = False) group = GroupSerializer (allow_null = True, is_nested = True, required = False): id = IntegerField (allow_null = False, help_text = None, label = ‘Id’ , obligatoriu = False) nume = CharField (allow_null = Adevarat, help_text = Niciunul, eticheta = ‘Nume’, lungime maxima = Niciunul, obligatoriu = False) adresele = AdresaSerializator (allow_null = Adevarat, multe = Adevarat, obligatoriu = False):id = IntegerField (allow_null = False, help_text = None, label = ‘Id’, required = False) email_address = CharField (allow_null = False, help_text = None, label = ‘Email_address’, max_length = None, required = True) url = UriField (read_only = True)
Sa incercam sa cream o instanta de utilizator cu noul nostru serializator:
Aceasta va crea urmatorul utilizator pentru noi:
>>> Utilizator utilizator (_group_id = Niciuna, id = 1, nume = ‘shosca’, nume complet = Niciuna, parola = ‘peste spada’)
Sa incercam sa actualizam instanta de utilizator a utilizatorului si sa-i schimbam parola:
Utilizatorul nostru arata acum ca:
>>> Utilizator utilizator (_group_id = Niciuna, id = 1, nume = ‘shosca’, nume complet = Niciuna, parola = ‘parola’)
Sa incercam sa ne actualizam din nou instanta de utilizator, dar de data aceasta ne putem schimba doar parola:
Aceasta va actualiza urmatorul utilizator pentru noi:
>>> Utilizator utilizator (_group_id = Niciuna, id = 1, nume = ‘shosca’, nume complet = Niciuna, parola = ‘peste spada’)
Utilizatorul nostru nu apartine unui grup, permite sa remediem:
Acum, utilizatorul nostru arata ca:
>>> User User (_group_id = 1, id = 1, name = ‘shosca’, fullname = None, parola = ‘swordfish’) >>> user.group Group (id = 1, name = ‘Admin’)
De asemenea, putem schimba numele grupului de utilizatori prin intermediul utilizatorului folosind actualizari imbricate:
Acum, utilizatorul nostru arata ca:
>>> User user (_group_id = 1, id = 1, name = ‘shosca’, fullname = None, parola = ‘swordfish’) >>> user.group Group (id = 1, name = ‘Super User’)
Putem utiliza acest serializator intr-un set de vizualizari precum:
Si putem inregistra acest set de vizualizari in urls.py cum ar fi:








