ORM
ORM
ORM
ORM
2. Crear el proyecto
3. Crear la aplicación
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
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'orm_tienda',
'HOST':'localhost',
'USER':'postgres',
'PASsWORD':'123456',
'PORT':'5432'
}
}
2
Nombre,correo y clave
Importar un modelo
3
admin.site.register([Categoria,Book])
21 . realizar consultas
core_categoria c on b."Categori_id"=c.id
group by c.name;
23 ir al Views.py de core
def all_Categoria(request):
#mostrar todas las categorias=queryset
cate=Categoria.objects.all()
context={
'categoria':cate
}
4
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)
app_name="core"
urlpatterns = [
path('',include('core.urls'))
path('admin/', admin.site.urls),
]
<!DOCTYPE html>
<html>
<head>
<title> TITULO DE LA APLICACION-LEON </title>
</head>
<body>
{% for item in categoria %}
<p> {{item}} </p>
{% endfor %}
</body>
</html>
5
Import os
'DIRS': [os.path.join(BASE_DIR,'Templates')],
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)
33. si deseas hacer filtros…imagínate que no quieres mostrar todos , solo todos los libros de la
categoría demo01
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
cat=Categoria.objects.all()
cat
C1=Categoria.objects.get(id=1)
C1
Books=Book.objects.filter(Categori=c1)
Books
39 ir a PostGsql
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)
Exit()
44. migrar
45. como hacemos esa búsqueda en Python, ingresar al Shell desde el cmd
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
str(pr.query)
Categoria.objects.create(name='Demo03')
Verificar en postgsql
cat=Categoria.objects.get(id=3)
cat
Book.objects.create(name='nuevo',author='juan',precio=20,Categori=cat)
categoria=Categoria(name='demo4')
categoria.save()
Categoria.objects.bulk_create([Categoria(name='Demo5'),Categoria(name='Demo6')])
8
categori=Categoria.objects.first()
categori
categori.name
categori.name='Demo01'
categori.save()
categori.refresh_from_db()
categori
qa=Categoria.objects.get(name='Demo01')
qa.delete()
c=Categoria.objects.filter(name__iexact='demo03')
str(c.query)