ORM

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

1

ORM

1. Crear el entorno virtual

2. Crear el proyecto

3. Crear la aplicación

4. Ir al Setting del proyecto, agregar la aplicación

5. Ir al models.py de la aplicación y crear las clases

from email.policy import default

from django.db import models

# Create your models here.


class Categoria(models.Model):
name=models.CharField(max_length=100)

def __str__(self):
return self.name

class Book(models.Model):
name=models.CharField(max_length=100)
author=models.CharField(max_length=100)
disponible=models.BooleanField(default=True)
Categori=models.ForeignKey(Categoria,on_delete=models.CASCADE)

def __str__(self):
return self.name

7. instalar PostgreSQL, para ello instalar la librería

Pip install psycopg2


8.- ir al postgresql y crear una base de datos ORM_TIENDA

9. ir al Setting y cambiar la configuración de la base de datos


DATABASES = {

'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'orm_tienda',
'HOST':'localhost',
'USER':'postgres',
'PASsWORD':'123456',
'PORT':'5432'

}
}
2

10. Verificar mediante los comandos

Python manage.py check

11.migrar desde los comandos

Python manage.py makemigrations core

12. migrara desde los comandos


Python manage.py migrate

13. Crear desde los comandos un super usuario

Python manage.py createsuperuser

Nombre,correo y clave

14 . Ir a Pgadmin – postgresql y verificar la creación de las tablas,


refrescar la base de datos , esquemas, tablas

Verificar mediante un select

select * from core_book;

15. Instalar Pgmodeler

Importar un modelo
3

16. quitar las tablas que a creado por defecto

17. agregar las tablas en el admin.py

from django.contrib import admin

# Register your models here.


from .models import Categoria,Book

admin.site.register([Categoria,Book])

18. levantar la aplicación de Python

Python manage.py runserver

19. agregar datos en categoría y luego en libros

20. verificar el ingreso de libros en postgresql

21 . realizar consultas

select c.name,count(b.id) from core_book b inner join

core_categoria c on b."Categori_id"=c.id

group by c.name;

22. voy aprender insertar categorías desde Python

23 ir al Views.py de core

from multiprocessing import context

from django.shortcuts import render

# Create your views here.


#voy hacer consultas

from .models import Categoria,Book

def all_Categoria(request):
#mostrar todas las categorias=queryset
cate=Categoria.objects.all()
context={
'categoria':cate
}
4

24. en el CORE crear un dirtectorio TEMPLATES y dento un html llamado index.html

25. ir a la vista Views.py y agregar el html que deseas mostrar

def all_Categoria(request):

template_name="index.html"
#mostrar todas las categorias=queryset
cate=Categoria.objects.all()
context={
'categoria':cate
}
return render(request,template_name,context)

26. en el core crear un URLS.PY

from django.urls import path

from .views import all_Categoria


urlpatterns = [
path('', all_Categoria,name="all_Categoria"),
]

27. ir a la Urls del proyecto e incluir

from django.urls import path,include

app_name="core"
urlpatterns = [
path('',include('core.urls'))
path('admin/', admin.site.urls),
]

28. completar el index.html del template

<!DOCTYPE html>

<html>
<head>
<title> TITULO DE LA APLICACION-LEON </title>
</head>
<body>
{% for item in categoria %}
<p> {{item}} </p>
{% endfor %}
</body>

</html>
5

29. no olvidar la ruta del templates

Import os

'DIRS': [os.path.join(BASE_DIR,'Templates')],

30.- ejecutar para probar

Python manage.py runserver

31. ir a VIEWS.PY del core y agregar books

def all_Categoria(request):
template_name="index.html"
#mostrar todas las categorias=queryset
#select * from core_categoria
cate=Categoria.objects.all()
books=Book.objects.all()
context={
'categoria':cate,
'books':books,
}
return render(request,template_name,context)

32. ir a index.html y agregar books

{% for item in categoria %}


<p> {{item}} </p>
{% endfor %}

{% for item in books %}


<p> {{item}}- {{item.author}} </p>
{% endfor %}
</body>

33. si deseas hacer filtros…imagínate que no quieres mostrar todos , solo todos los libros de la
categoría demo01

34. ir a VIEWS.py y realizar lo siguiente

def all_Categoria(request):
template_name="index.html"
#mostrar todas las categorias=queryset
#select * from core_categoria
cate=Categoria.objects.all()
#books=Book.objects.all()
books=Book.objects.filter(Categori_id=1)
6

35. Ir al cmd y ubicarse en el proyecto orm_Demo

Python manage.py Shell

EL SHELL DE PYTHON TE PERMITE EJECUTAR LAS INSTRUCCIONES DEL ORM

36. Hay que decirle con que modelo desea trabajar

From core.models import Categoria,Book

37. listar las categorías

cat=Categoria.objects.all()

cat

38. probar los filtros

C1=Categoria.objects.get(id=1)

C1

39. mezclarar las dos tablas

Books=Book.objects.filter(Categori=c1)

Books

39 ir a PostGsql

select * from core_book where name like '%a%';

40. probar en los comandos de Python

busqueda=Book.objects.filter(name__contains='a')

búsqueda

41. crear una columna nueva en la tabla book ir al modelo de django MODELS.PY

precio=models.DecimalField(max_digits=7, decimal_places=2)

42. salir del shell un momento

Exit()

43. actualizar el modelo

Python manage.py migratetions core

Pregunta que valor deseas adicionar a la columna. Le dices 1 se adiciona y luego

44. migrar

Python manage.py migrate

También verificar en el postgsql, modificar los precios y guardar cambios


7

Verificar los libros dentro de un intervalo de precios

select * from core_book where precio between 5 and 10;

45. como hacemos esa búsqueda en Python, ingresar al Shell desde el cmd

Python manage.py Shell

46. importar las tablas

from core.models import Categoria,Book

47 realizar el filtro

pr=Book.objects.filter(precio__range=(5,10))

pr

QUE ES LO QUE HACE EL QUERYSET, es hacer una consulta de sql por detrás

48. quiero que me muestre el query de esa consulta

str(pr.query)

49 ahora vamos a insertar datos

Categoria.objects.create(name='Demo03')

Verificar en postgsql

50. insertar un libro(primero filtrar la categoría)

Primero filtrar la categoría 3

cat=Categoria.objects.get(id=3)

cat

51. insertar un nuevo libro

Book.objects.create(name='nuevo',author='juan',precio=20,Categori=cat)

Agregar otro libro a la categoría

52. otra forma de grabar una nueva categoría

categoria=Categoria(name='demo4')

categoria.save()

53. para ingresar varios registros a la vez

Categoria.objects.bulk_create([Categoria(name='Demo5'),Categoria(name='Demo6')])
8

54. actualizar una categoría

categori=Categoria.objects.first()

categori

categori.name

categori.name='Demo01'

categori.save()

categori.refresh_from_db()

categori

55. eliminar objetos

qa=Categoria.objects.get(name='Demo01')

qa.delete()

56. buscar sin tomar en cuenta mayúsculas y minúsculas

c=Categoria.objects.filter(name__iexact='demo03')

57. ver por detrás

str(c.query)

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy