Dúvida referente ao Django Framework Models ( Innerjoins)

11/06/2019

0

Olá Galera, tudo bem?

Sou novo aqui no DEVMEDIA e gostaria de primeiramente me apresentar, meu nome é Liniker tenho 24 anos e sou um amante da programação apesar de ainda estar engatinhando próximo dos verdadeiros codificadores que existem no mundo.
Enfim indo direto ao ponto alguém consegue me ajudar em relação ao framework Django? estou fazendo um sistema web e acabei de encontrar uma dificuldade em relação ao conceito de Models (MVC), minha dúvida seria a seguinte.

Eu consigo fazer um inner join de duas tabelas ? segue o código a baixo:
Eu tenho duas applicações (apps) Treinamento e Entidade.

Entidade:

from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator
from phone_field import PhoneField
from datetime import time


# Create your models here.
class Entidade(models.Model):
id = models.AutoField(primary_key=True)
nome_entidade = models.CharField(max_length=70)
razao_social = models.CharField(max_length=70)
codigo_sap = models.PositiveIntegerField(default=0, blank=False)
pessoa_contato = models.CharField(max_length=20)
email = models.EmailField(max_length=254, blank=False, unique=True, error_messages={''required'': ''Porfavor digite seu e-mail.'', ''unique'': ''Já existe esse e-mail cadastrado.''},)
phone = PhoneField(blank=True, help_text=''Seu numero de telefone'')
cep = models.PositiveIntegerField(default=0,blank=False)
endereço = models.CharField(max_length=100)
cidade = models.CharField(max_length=100)
estado = models.CharField(max_length=100)
data_registro = models.DateTimeField(blank=True)

def __str__(self):
return self.nome_entidade

Treinamento:

from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator
from phone_field import PhoneField
from localflavor.br.forms import BRZipCodeField
from datetime import time


# Create your models here.

class Treinamento(models.Model):
id = models.AutoField(primary_key=True)
nome_treinamento = models.CharField(max_length=50)
categoria = models.CharField(max_length = 50)
conteudo = models.TextField()
requisito = models.CharField(max_length=50)
recursos = models.CharField(max_length=50)
carga_horaria = models.TimeField(auto_now=False, auto_now_add=False)
tipo = models.CharField(max_length=50)
local = models.CharField(max_length=50)

def __str__(self):
return self.nome_treinamento


EU CONSEGUIRIA CRIAR UMA TABELA RESULT DA INTERSECÇÃO DESSAS DUAS TABELAS?
Liniker

Liniker

Responder

Posts

22/06/2019

Vinnicyus Leite

Você precisa criar um relacionamento entre os dois modelos. É possível fazer inner join utilizando o select_related, porém seus modelos não se relacionam um com o outro. Veja ForeingKey, ManytoManyField e OneToOneField no Django.

select_related: https://docs.djangoproject.com/pt-br/2.1/ref/models/querysets/#select-related
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar