As in Django there are several contexts, I will try to explain with your own example but in a Django console, if you want to try, enter a python console (in the environment and directory of your project) and execute the code below (Explanations are like comments in the code itself):
Creating the objects:
# Importação dos pacotes necessários
from datetime import date
from core.models import Vendedor, Pedidos
# Criando 2 vendedores
>>> Vendedor.objects.create(nome='foo', nascimento='1991-01-01', endereco='Rua que sobe e desce, 166')
>>> Vendedor.objects.create(nome='bar', nascimento='1992-02-02', endereco='Rua que sobe e desce, 777')
# Listando a queryset dos objetos vendedores
>>> Vendedor.objects.all()
<QuerySet [<Vendedor: Vendedor object (1)>, <Vendedor: Vendedor object (2)>]>
# Adicionando 2 pedidos para o vendedor 1
Pedidos.objects.create(vendedor=Vendedor.objects.get(pk=1),data=date.today(), tipo='of')
<Pedidos: Pedidos object (1)>
Pedidos.objects.create(vendedor=Vendedor.objects.get(pk=1),data=date.today(), tipo='Pd')
<Pedidos: Pedidos object (2)>
# Adicionando 2 pedidos para o vendedor 2
Pedidos.objects.create(vendedor=Vendedor.objects.get(pk=2),data=date.today(), tipo='Pd')
<Pedidos: Pedidos object (3)>
Pedidos.objects.create(vendedor=Vendedor.objects.get(pk=2),data=date.today(), tipo='Sr')
<Pedidos: Pedidos object (4)>
# Listando todos os pedidos (QuerySet)
print(Pedidos.objects.all())
<QuerySet [<Pedidos: Pedidos object (1)>, <Pedidos: Pedidos object (2)>,
<Pedidos: Pedidos object (3)>, <Pedidos: Pedidos object (4)>]>
Working with Objects.last()
:
# Apresentando o ultimo pedido feito:
print(Pedidos.objects.last())
Pedidos object (4)
Working with objects.filter()
:
# Apresentando o ultimo pedido do vendedor 1
Pedidos.objects.filter(vendedor=1).last()
<Pedidos: Pedidos object (2)>
# Apresentando o ultimo pedido do vendedor 2
Pedidos.objects.filter(vendedor=2).last()
<Pedidos: Pedidos object (4)>
Working with related_name
:
# Apresentando o ultimo pdido do vendedor 1 via related name
>>> vendedor1 = Vendedor.objects.get(pk=1)
>>> vendedor1.vend.last()
<Pedidos: Pedidos object (2)>
Submitting the last request of each seller in one pandas.DataFrame()
:
>>> data = []
>>> vendedores = Vendedor.objects.all()
>>> for v in vendedores:
ultimo_pedido = v.vend.last()
data.append([v.nome, ultimo_pedido.id, ultimo_pedido.data, ultimo_pedido.tipo])
>>> ultimos_pedidos = pd.DataFrame(data, columns=['Vendedor', 'Id Pedido','Data',
'Tipo'])
>>> print(ultimos_pedidos)
Vendedor Id Pedido Data Tipo
0 foo 2 2019-04-18 Pd
1 bar 4 2019-04-18 Sr
After editing, your question has become totally disfigured and too comprehensive I suggest you read it carefully that link, here at Sopt
– Sidon
Okay, now yes, try to implement my answer in the command line, if you can’t, add to the question or here in the comments what went wrong, if you get and continue with problems in another topic then you should probably elaborate another question.
– Sidon
Thank you for your help. I followed your logic and it worked, thank you very much!!
– Gilberto Araujo Gomes Junior