Criando queries no Django

Será mostrado algumas queries que facilitarão no dia a dia.

Model que vamos utilizar para as queries:

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

    def __unicode__(self):
        return self.nome

class Artigo(models.Model):
    categoria = models.ForeignKey(Categoria)
    nome = models.CharField(max_length=255)
    texto = models.TextField()
    dt_criacao = models.DateTimeField()
    dt_modificacao = models.DateTimeField()

    def __unicode__(self):
        return self.nome

Retornar todos os registros da classe

artigos = Artigo.objects.all()

Retorna apenas os artigos que são da categoria 1

artigos = Artigo.objects.filter(categoria=1)

Retorna apenas os artigos que são da categoria com nome Jogos

artigos = Artigo.objects.filter(categoria__nome='Jogos')

Retorna apenas os artigos que são da categorias [1,2,3,4]

categorias = [1,2,3,4]
artigos = Artigo.objects.filter(categoria__in=categorias)

Retorna apenas os artigos que são da categorias [1,2,3,4]

categorias = [1,2,3,4]
artigos = Artigo.objects.filter(categoria__in=categorias)

Retorna apenas 10 artigos

artigos = Artigo.objects.all()[:10]

Retorna apenas as categorias diferentes de 1

artigos = Artigo.objects.exclude(categoria=1)

Retorna os artigos com a data de criacao com o ano igual 2012

from datetime import datetime
artigos = Artigo.objects.filter(dt_criacao__year='2012')

Retorna os artigos que começam com o nome Artigo 1

artigos = Artigo.objects.filter(nome__startswith="Artigo 1")

Retorna os artigos que possuem django também ignorando se são maiúsculos ou minúsculos

artigos = Artigo.objects.filter(nome__icontains="django")

Retorna os artigos ordenados pelo nome

artigos = Artigo.objects.order_by('nome')

data de criação maior ou igual

from datetime import datetime
artigos = Artigo.objects.filter(dt_criacao__gte=datetime.now())

data de criação menor ou igual

from datetime import datetime
artigos = Artigo.objects.filter(dt_criacao__lte=datetime.now())

😉

Telegram
Twitter
Facebook
LinkedIn
Pinterest

Youtuber, Programador, investidor, fanatico em tecnologia, fã de dragon ball, artista marcial, futebolista amador e gamer nas horas vagas.

Um pouco mais sobre mim

Atuando desde 2007 na área de programação web.

 

Conhecimento em diversas linguagens, frameworks e outros:

 

  • Python/Django
  • Ruby/Ruby on Rails
  • PHP, Java
  • C/C++
  • C#
  • Shellscript
  • HTML/HTML5
  • CSS/CSS3
  • JavaScript
  • Jquery, XML/JSON
  • MySQL
  • PostgreSQL
  • Oracle

 

Já atuei diversas vezes em manutenção e reparo de computadores, atualmente monto os meus por hobby.

 

Conhecimento em servidores linux, softwares já utilizados para aplicações online:

  • nginx
  • apache
  • supervisor
  • bind
  • iptables
  • gunicorn

 

Conhecimento em servidores da Amazon AWS (S3, EC2, Route53, Lambda, SQS).

 

Projeto open source que mantenho para criação de servidores com python/django e php: Acessar

 

Conhecimento em e-commerce, algumas integrações realizadas: Cielo, PagSeguro, Bcash, boleto Santander e débito online e boleto do Banco do Brasil.

 

Plataformas open source utilizadas: prestashop e wordpress.

 

Sistemas operacionais: Windows, Linux(Ubuntu, Debian e CentOS) e Mac OS X

 

Hobby em desenvolvimento de jogos utilizando Unity 3d, Unreal Engine 4, Cry Engine 5 e Game Maker.

 

Desenvolvimento de aplicativos mobile utilizando Ionic e cordova para Android e Firefox OS. 

Procurar

Categorias

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *