Cómo declarar las relaciones de los modelos de mi base de datos [ Ayuda porfavor:( ]

Primero que nada perdonar mi ignorancia, hace 2 meses o menos que estoy con laravel, me esta encantando, pero resulta que estoy creando un proyecto bastante grande, y me he liado con las relaciones de los modelos.

La cosa va sobre una plataforma para poner en forma a la gente ( ofreciendoles material para entrenar), pero obviamente necesitare analizar sus datos para poder ofrecerles ese material.

TABLAS las marcaré con >

>usuarios: [id(pk), nombre, apellidos, fecha_nacimiento, email, password, objetivo]

Aquí guardare nombre, apellidos, y fecha nacimiento, y el objetivo( adelgazar o subir de peso)FK objetivo -> usuarios_detalles(id) o engorda, o adelgaza..

>usuarios_detalles: [id(pk), usuario_id, fuma,bebe,duerme bien…]

Aquí estarán algunos datos mas del usuario, que no se volverán a cambiar, solo serviran para un analisis inicial y yasta. FK usuario_id -> usuarios(id) gracias a esa foreign, se que objetivo va a tener cada usuario, hasta aqui bien.

>usuarios_peso: [id(pk), usuario_id, peso, fecha, created_at, updated_at]

Aquí voy a crear una tabla con el próposito de tener un historico de los pesos que va teniendo el usuario, para poder realizar tablas estadísticas y comparativas, y ver su mejoria (quiero tener constancia de todos los pesos que va teniendo el usuario, durante todo el tiempo, no quiero borrar ningún registro.)

>usuarios_objetivos [id(pk), objetivo, created. updated..]

Aquí quiero solamente tener 3 tips de objetivos, con su respectiva id , y posteriormente desde tabla usuarios, en el campo objetivo, relacionarlo con la id en funcion si quiera adelgazar (id1, objetivo=adelgazar).. Queda decir que lo he relacionado solamente desde usuarios hacia objetivos. ya que irá cambiando, pero sin historico.

>usuarios_comidas [id(pk), usuario_id, comidas_dia,. created…]

Aquí guardare las comidas que come, cuantas veces al dia come, y lo enlazo desde aquí FK usuario_id -> usuarios(id)

>rutinas [id, nombre, descripcion, dificultad, categoria…]

Aqui guardare las rutinas, en documentos, y solamente habran los datos de las rutinas,

para enlazar

Relaciones entre modelos Django API y REACT JS

Tengo el problema siguiente: ando buscando la manera de relacionar 4 modelos hechos en Django con la API REST, 1 modelo tiene la FK de los otros 3 modelos y ando consumiendo la API con REACT JS pero no tengo idea de como hacer para que con REACT me relacione los modelos para crear los registros relacionalesintroducir la descripción de la imagen aquí introducir la descripción de la imagen aquí

imgur.com/lvxIB.png

Dúvida em predict de modelos

Acredito que seja uma dúvida simples, porém em todos os cursos que estou fazendo o instrutor ensina a separar dados de treino e teste de um csv ou alguma base. Porém quero fazer os testes com o input do usuário ao invés disso, mas quando tento, diz que precisa ter o mesmo tamanho que os treinos, não há uma forma de testar só um input?

Exemplo: Meu dataframe

Estou usando a coluna tratamento_5 com o seguinte código

tfidf = TfidfVectorizer(lowercase=False) vetor_tfidf = tfidf.fit_transform(resenha["tratamento_5"]) treino, teste, classe_treino, classe_teste = train_test_split(vetor_tfidf,                                                               resenha["classificacao"],                                                               random_state = 42) regressao_logistica.fit(treino, classe_treino) acuracia_tfidf = regressao_logistica.score(teste, classe_teste) print(regressao_logistica.predict(teste).tolist()) 

Esse código separa os dados de teste e treino e prediz com os dados de teste.

Porém quero fazer algo com a interação do usuário, ou seja um texto inserido pelo usuário, tentei dessa forma:

vetor_tfidf2 = tfidf.fit_transform(["Esse filme foi muito bom, gostei dos movimentos de ação do inicio até o final do filme"]) treino, teste, classe_treino, classe_teste = train_test_split(vetor_tfidf2,                                                               resenha["classificacao"],                                                               random_state = 42) regressao_logistica.fit(treino, classe_treino) acuracia_tfidf = regressao_logistica.score(teste, classe_teste) print(regressao_logistica.predict(teste).tolist())  print(vetor_tfidf2.shape) print(resenha['classificacao'].shape) 

Porém me retorna o seguinte erro

ValueError: Found input variables with inconsistent numbers of samples: [1, 49459]

Isso me parece que é porque os dados de treino e teste tem tamanhos diferentes, mas como posso fazer somente com uma frase e não usando o dataframe como tentei?

Como puedo añadir datos al modelos sin usar un form

Tengo una duda y necesito resolverla, veran trabajo en Django y tengo un formulario que guarda una serie utiles utilizando un campo ManyToMany de empleado mediante una tabla con checkbox, pero necesito que esos utiles individualmente se me actualizen en el modelo Utile cambiando su campo Entregado_A de False a True.

Estos son los Modelos

Utiles:

lass Utile(models.Model):          area = models.ForeignKey(Area)     codigo = models.CharField(max_length=20)     descripcion = models.TextField()     um = models.CharField(max_length=10)     existencia_sub_mayor = models.IntegerField()     entrada = models.CharField(max_length=20, blank=True)     salida = models.CharField(max_length=20, blank=True)     existencia = models.PositiveIntegerField()     precio_costo_prom = models.FloatField()     importe = models.FloatField()     referencia = models.CharField(max_length=30, blank=True)     externo = models.BooleanField(default=False)     entregado_a = models.BooleanField(default=False)           def __str__(self):         return '{}'.format(self.codigo)

Empleado:

class Empleado(models.Model):          area = models.ForeignKey(Area, null=True, blank=True )     nombre = models.CharField(max_length=60)     apellidos = models.CharField(max_length=70)     cargo = models.CharField(max_length=70)     utiles_herramientas = models.ManyToManyField(Utile)       def __str__(self):         return '{} {}'.format(self.nombre, self.apellidos)

y esta es la View con la que gestiono la peticion y el Form donde se guarda utilizando los checkbox.

VIEW:

class UtilesExternosUpdate(UpdateView):          model = Empleado     form_class = EmpleadoForm     template_name = 'app/externos_por_area.html'     success_url = reverse_lazy ('app:empleados')      def get_form_kwargs(self):         kwargs = super(UtilesExternosUpdate, self).get_form_kwargs()         area = Area.objects.get(pk= self.object.area_id)         utiles = Utile.objects.filter(area_id= area.pk, externo = True, entregado_a = False)         print(utiles)         kwargs.update({'utiles': utiles})          return kwargs

FORM:

class EmpleadoForm(forms.ModelForm):     utiles_herramientas = forms.ModelMultipleChoiceField(         queryset=None,         widget=TableSelectMultiple(            item_attrs=[                'area','codigo','descripcion',                            ],            enable_shift_select=True,            enable_datatables=True,            bootstrap_style=True,            #datatable_options={'language': {'url': '/foobar.js'}},             )          )     def __init__(self,queryset=None, *args, **kwargs):         util = kwargs.pop('utiles')         super(EmpleadoForm, self).__init__(*args,**kwargs)         self.fields["utiles_herramientas"].queryset = util                class Meta:         model = Empleado         fields = [                          'utiles_herramientas'         ]         labels = {                          'utiles_herramientas': 'Útiles y Herramientas'          }

Tengo la idea de utilizar los utiles que se entregan que se recogen en los Kwargs en la vista y mediante un for y el id de cada util, cambiarle el parametro al campo Entregado_A del modelo Utile, pero no se muy bien como hacerlo. Tenia la idea de un formset rondandome la cabeza pero no creo que aplique.

y a partir de ahora empiezo a escribir cualquier cosa para que stackoverflow me deje publicar la pregunta xq me dice que a;ada mas detalles y no me queda mas nada que decir.

Duda con los modelos User y UserCreationForm en Django

Tengo una duda, estoy implementando un registro en mi applicacion web.

De la siguiente manera:

from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User from django import forms  class UserCreationFormWithEmail(UserCreationForm):     email = forms.EmailField(required = True, help_text = 'Campo requerido.')      class Meta:         model = User         fields = ['username', 'email', 'password1', 'password2'] 

Bueno pues estoy creando un campo para el formulario llamado email, mi duda surge en la clase Meta en fields estoy indicando que campos mostrar del modelo User y entre eso campos estoy mostrando el campo email, mi pregunta es ¿Cual campo estoy mostrando, el del modelo User o el campo que cree?

Según veo estoy mostrando el campo que cree, pues indique que sea requerido y muestra el help_text que escribí y el campo lo hace.

Aquí me surge otra duda, ¿Estoy sobrescribiendo el campo email del modelo User o que exactamente esta pasando? y ¿Porque me muestra el campo que cree si estoy indicando que muestre el campo del modelo User en fields?

A parte de todo eso, en fields indico que muestre los campos password1 y passwors2 del modelo User pero en realidad password1 y passwors2 son campos del form UserCreationForm entonces que esta pasando exactamente? Ya estoy muy confundido de que esta pasando…. Se los agradecería mucho si me explicaran sobre esto…

De antemano muchas gracias por sus respuestas!

Odoo condiciones IF en modelos

Dentro de mi modelo citas tengo que comprobar que en un dia, un doctor a una hora solo pueda tener una cita disponible. Este es mi código y no se donde está el error.

class centromedico_citas(models.Model): _name = 'centromedico.citas'  fconsulta = fields.Date(string="Fecha consulta", required=True) hconsulta = fields.Float(string="Hora consulta", required=True) cpaciente = fields.Many2one('centromedico.pacientes', string="Paciente",required=True, ondelete="cascade") cdoctores = fields.Many2one('centromedico.medicos', string="Doctor/a", required=True, ondelete="cascade") chistorial = fields.Many2one('centromedico.historialclinico', string="Historial", required=True, ondelete="cascade")  @api.constrains('fconsulta', 'hconsulta', 'cdoctores') def _citaunica(self):     for consultas in self:         if consultas.fconsulta = centromedico.fconsulta and consultas.hconsulta = centromedico.hconsulta and consultas.cdoctores = centromedico.cdoctores:              raise exceptions.ValidationError(_("El doctor ya tiene una cita a esa hora ese día!") 

Odo 11 Relación entre modelos

No tengo muy claro cual seria la relación entre pacientes-citas y doctores-citas, alguien podría ayudarme.

class centromedico_pacientes(models.Model): _name = 'centromedico.pacientes'  name = fields.Char(string="Nombre", required=True) apellidos = fields.Char(string="Apellidos", required=True) cita = fields.One2many("centromedico.citas","cpaciente",string="Libros")  #relacion con medicos - historial clinico #relacion con enfermeros - historial clinico 

class centromedico_citas(models.Model): _name = ‘centromedico.citas’

fconsulta = fields.Datetime(string="Fecha consulta", required=True) cpaciente = fields.Many2one('centromedico.pacientes', string="Paciente", required=True, ondelete="cascade") cdoctores = fields.??('centromedico.medicos', string="Doctor") #relacion historial clinico 

class centromedico_medicos(models.Model): _name = ‘centromedico.medicos’

name = fields.Char(string="Nombre", required=True) apellidos = fields.Char(string="Apellidos", required=True) especialidad = fields.Char(string="Especialidad", required=True) consultas = fields.??('centromedico.citas', string="Consultas") 

Laravel eloquent busqueda en campos de modelos relacionados

Necesito hacer una busqueda de proyectos cuando la variable $ buscar en el modelo proyectos coincida con el campo nombre o en el campo nombre del modelo clientes

MI CODIGO

  $  buscar = "archelier";      $  proyectos =Proyectos::select()     ->where('nombre', 'LIKE', '%'.$  buscar.'%')     ->orWhere('Clientes', function($  q){     $  q->where('nombre', '%'.$  buscar.'%');     })->get(); 

Python Django generer un diccionario desde los modelos

Buenas soy nuevo con Django tengo 5 modelos (Empresa,Agente,Sensore,Plantilla y Datos) hay varias relación como fijas en condigo lo que quiero es generar un diccionario como este ejemplo en las Vistas la verdad no se como hacerlo Ejemplo: {“Empresa”:{ “Agente”:{ “Memory”:[{ “plantia1″:”Datos”, “plantia2″:”Datos” }, { “plantia1″:”Datos”, “plantia2″:”Datos” } ]} }}

class Empresa(models.Model):    Name = models.CharField(null=False,blank=False, max_length=600)    tag = models.CharField(unique=True,blank=False,null=False, max_length=60)    def __unicode__(self):       return self.Name  class Agente(models.Model):     Name = models.CharField(null=False,blank=False, max_length=600)     empresa = models.ForeignKey(Empresa)     referencia = models.CharField(unique=True,null=False,blank=False,max_length=600)     creado = models.DateTimeField(auto_now_add=True,blank=False)     actualizado = models.DateTimeField(auto_now=True)     def __unicode__(self):        return self.Name class Sensore(models.Model):     Name = models.CharField(null=False,blank=False, max_length=150,unique=True)     homepage = models.BooleanField(default=False)     def __unicode__(self):        return self.Name class Plantilla(models.Model):    Name = models.CharField(null=False,blank=False, max_length=150,unique=True)    homepage = models.BooleanField(default=False)    def __unicode__(self):       return self.Name class Dato(models.Model):    Datos = models.CharField(null=True,blank=True, max_length=600)    Plantillas = models.ForeignKey(Plantilla)    Agente = models.ForeignKey(Agente)    sensores = models.ForeignKey(Sensore)    def agente(self):       return self.Agente.Name