def ingresarcategoria1(request): if request.method=='POST': categoria=Categoria(cat_nombre=request.POST["txtNombre"], cat_detalle=request.POST["txtDetalle"], ) categoria.save() return redirect('ingresarproducto') return render_to_response('ingresarcategoria1.html',context_instance=RequestContext(request))
def modificarcategoria(request,id): if request.method=='POST': if 'guardar' in request.POST: cate = Categoria( cat_id=id, cat_nombre=request.POST["cat_nombre"], cat_detalle=request.POST["cat_detalle"]) cate.save() cate=Categoria.objects.get(pk=id) return render_to_response('modificarcategoria.html',{'cate':cate},context_instance=RequestContext(request))
def handle(self, *args, **options): User.objects.create_superuser(username='******', password='******', email='*****@*****.**') moviesPath = os.path.join(STATIC_ROOT,"data/u.item") usersPath = os.path.join(STATIC_ROOT,"data/u.user") genresPath = os.path.join(STATIC_ROOT,"data/u.genre") ratingsPath = os.path.join(STATIC_ROOT,"data/u.data") occupationsPath= os.path.join(STATIC_ROOT,"data/u.occupation") movies = readMovieFile(moviesPath) users = readUserFile(usersPath) genres = readGenreFile(genresPath) ratings = readRatingFile(ratingsPath) occupations = readOccupationFile(occupationsPath) generos = [] for genre in genres: generos.append(Categoria(nombre = genre[0],idCategoria = int(genre[1]))) Categoria.objects.bulk_create(generos) peliculas = [] categoriasPeliculas = [] for movie in movies: peliculas.append(Pelicula(idPelicula = int(movie[0]),titulo = movie[1],fechaDeEstreno = datetime.strptime(movie[2],"%d-%b-%Y"), imdbURL = movie[3])) for i,hasGenero in enumerate(movie[4]): if int(hasGenero): if int(movie[0])-1<266: categoriasPeliculas.append(CategoriaPelicula(idCategoria=generos[i],idPelicula=peliculas[int(movie[0])-1])) else: categoriasPeliculas.append(CategoriaPelicula(idCategoria=generos[i],idPelicula=peliculas[int(movie[0])-2])) Pelicula.objects.bulk_create(peliculas) CategoriaPelicula.objects.bulk_create(categoriasPeliculas) ocupaciones = [] for occupation in occupations: ocupaciones.append(Ocupacion(nombre = occupation)) Ocupacion.objects.bulk_create(ocupaciones) usuarios = [] for user in users: usuarios.append(Usuario(idUsuario=int(user[0]),edad=int(user[1]),sexo=user[2],ocupacion = Ocupacion.objects.get(nombre=user[3]),codigoPostal=user[4])) Usuario.objects.bulk_create(usuarios) puntuaciones = [] ip = 0 for rating in ratings: ip+=1 if ip%1000==0: print(ip) if int(rating[1]) != 267: tiempo = datetime.fromtimestamp(int(rating[3])) puntuaciones.append(Puntuacion(idUsuario=Usuario.objects.get(idUsuario = int(rating[0])),idPelicula = Pelicula.objects.get(idPelicula = int(rating[1])), puntuacion = int(rating[2]), fecha=tiempo)) Puntuacion.objects.bulk_create(puntuaciones)
def test_crear_una_categoria_del_proyecto(self): usuario = User.objects.create(username='******') # partimos creando el grupo grupo = Grupo() grupo.nombre = "Grupo 1" grupo.propietario = usuario grupo.fecha_creacion = timezone.now() grupo.save() proyecto = Proyecto() proyecto.grupo = grupo proyecto.nombre = "Proyecto 1" proyecto.descripcion = "Primer proyecto del grupo" proyecto.fecha_creacion = timezone.now() proyecto.save() proyecto.integrantes.add(usuario) #creamos la categoria categoria = Categoria() categoria.proyecto = proyecto categoria.nombre = "Bug" categoria.descripcion = "Error del sistema" categoria.prioridad = 1 categoria.color = "red" # guardamos la categoria categoria.save() # obtenemos las categorias de la base categorias = Categoria.objects.all() # comprobamos que este la categoria que guardamos en la base self.assertEquals(len(categorias),1) # 0btenemos la categoria de la base categoria_db = categorias[0] # comprobamos que la categoria de la bd sea igual a la categoria que definimos self.assertEquals(categoria_db,categoria) # comprobamos que guardamos los campos correctamente self.assertEquals(categoria_db.nombre,"Bug") self.assertEquals(categoria_db.descripcion,"Error del sistema") self.assertEquals(categoria_db.prioridad,1) self.assertEquals(categoria_db.color,"red")
def test_crear_una_tarea_del_proyecto(self): usuario = User.objects.create(username='******') # partimos creando el grupo grupo = Grupo() grupo.nombre = "Grupo 1" grupo.propietario = usuario grupo.fecha_creacion = timezone.now() grupo.save() proyecto = Proyecto() proyecto.grupo = grupo proyecto.nombre = "Proyecto 1" proyecto.descripcion = "Primer proyecto del grupo" proyecto.fecha_creacion = timezone.now() proyecto.save() proyecto.integrantes.add(usuario) #creamos la categoria categoria = Categoria() categoria.proyecto = proyecto categoria.nombre = "Bug" categoria.descripcion = "Error del sistema" categoria.prioridad = 1 categoria.color = "red" # guardamos la categoria categoria.save() # creamos la primera etapa etapa = Etapa() etapa.proyecto = proyecto etapa.nombre = "Pendientes" etapa.descripcion = "En esta etapa se encontrararan todas las tareas pendientes" etapa.orden = 1 # guardamos la etapa etapa.save() # creamos la tarea tarea = Tarea() tarea.proyecto = proyecto tarea.nombre = "Tarea 1" tarea.etapa = etapa tarea.estimacionTiempo = 3 tarea.estimacionTipo = "h" tarea.responsable = usuario tarea.fechaInicio = timezone.now() tarea.fechaFin = timezone.now() tarea.categoria = categoria tarea.save() # obtenemos las tareas tareas = Tarea.objects.all() # comprobamos que este la tarea que guardamos self.assertEquals(len(tareas),1) # obtenemos la tarea de la base tarea_db = tareas[0] # comprobamos que la tarea de la base de datos sea igual # a la tarea que definimos self.assertEquals(tarea_db,tarea) # comprobamos que los campos se guardaron correctamente self.assertEquals(tarea_db.proyecto,proyecto) self.assertEquals(tarea_db.nombre,"Tarea 1") self.assertEquals(tarea_db.etapa,etapa) self.assertEquals(tarea_db.estimacionTiempo,3) self.assertEquals(tarea_db.estimacionTipo,"h") self.assertEquals(tarea_db.responsable,usuario) self.assertEquals(tarea_db.fechaInicio,tarea.fechaInicio) self.assertEquals(tarea_db.fechaFin,tarea.fechaFin) self.assertEquals(tarea_db.categoria,categoria)
def cargar_datos(request): Categoria.objects.all().delete() Receta.objects.all().delete() Usuario.objects.all().delete() Valoracion.objects.all().delete() module_dir = os.path.dirname(__file__) with open(module_dir + "/data/caterogias.txt", "r", encoding="utf8", errors="ignore") as f: print("Cargando categorias...") lines = f.read().splitlines() categorias = [] for line in lines: if line == "": continue categoria = line.split("||") categoria_id = categoria[0] titulo = categoria[1] descripcion = categoria[2] categorias.append( Categoria(categoria_id=categoria_id, titulo=titulo, descripcion=descripcion)) Categoria.objects.bulk_create(categorias) print("...categorias cargadas!") with open(module_dir + "/data/recetas.txt", "r", encoding="utf8", errors="ignore") as f: print("Cargando recetas...") lines = f.read().splitlines() recetas = [] for line in lines: if line == "": continue receta = line.split("||") id_receta = receta[0] categoria_id = receta[1] titulo = receta[2] pdf_url = receta[3] dificultad = receta[4] cocina = receta[5] vegetariana = receta[6] celiacos = receta[7] foto = receta[8] ingredientes = receta[9] pasos = receta[10] recetas.append( Receta(id_receta=id_receta, categoria_id=categoria_id, titulo=titulo, dificultad=dificultad, pdf_url=pdf_url, cocina=cocina, vegetariana=vegetariana, celiacos=celiacos, foto=foto, ingredientes=ingredientes, pasos=pasos)) Receta.objects.bulk_create(recetas) print("...recetas cargadas!") with open(module_dir + "/data/usuarios.txt", "r", encoding="utf8", errors="ignore") as f: print("Cargando usuarios...") lines = f.read().splitlines() usuarios = [] for line in lines: if line == "": continue usuario = line.split("||") id_usuario = usuario[0] nombre = usuario[1] sexo = usuario[2] usuarios.append( Usuario(id_usuario=id_usuario, nombre=nombre, sexo=sexo)) Usuario.objects.bulk_create(usuarios) print("...usuarios cargadas!") ## https://www.generatedata.com/ with open(module_dir + "/data/valoracion.txt", "r", encoding="utf8", errors="ignore") as f: print("Cargando valoraciones...") lines = f.read().splitlines() valoraciones = [] for line in lines: if line == "": continue valoracion = line.split("|") puntuacion = valoracion[0] receta_id = valoracion[1] usuario_id = valoracion[2] valoraciones.append( Valoracion(puntuacion=puntuacion, receta_id=receta_id, usuario_id=usuario_id)) Valoracion.objects.bulk_create(valoraciones) print("...valoraciones cargadas!") recetas = Receta.objects.annotate( avg_rating=Avg("valoracion__puntuacion")).order_by("-avg_rating")[:3] return render(request, "users/load_data_success.html", {"recetas": recetas})