• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

Base de datos django

lucena94

Nuevo
Registrado
29 Oct 2014
Mensajes
36
Puntos
0
Buenas,

Tengo una duda, tengo que meter decenas de personas en una BD en django es cierto que con el gestor admin es mas facil pero sigue siendo muy tedioso meter uno a uno y quiero hacer un script o algo para meterlos todos de una sentada

He pensado en un script asi:

#!/bin/bash

python << FIN

jugado= Jugador()
jugador.nombre= "Cristiano"
jugador.apellidos= "Ronaldo"
jugador.posicion= "DC"
jugador.precio= 17000000
jugador.save()
exit()
FIN

pero claro al llamar al comando python entra en el modo interactivo y no se ejecutan el resto de comando. Alguien me hecha una manita?
Gracias!
 
No sé como funciona la base de datos django. No puedo ayudarte al respecto.
A ver si Rusbelio Drami24 FREEMAN te pueden ayudar.
 
ya lo he conseguido averiguar, gracias de todas formas
 
lucena94, podrías decir cómo por si en el futuro alguien llega a este post buscando la misma solución.

Saludos.
 
si, he hecho el siguiente script en python:

# -*- coding: utf-8 -*-
# ruta a nuestro archivo CSV
csv_filepathname="ruta del fichero csv"
# ruta a nuestro proyecto de django
your_djangoproject_home="ruta del proyecto django"

import sys,os

sys.path.append(your_djangoproject_home)
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

# importamos nuestro modelo
from ligamanager.models import *

import csv
dataReader = csv.reader(open(csv_filepathname), delimiter=',', quotechar='"')

for row in dataReader:
if row[0] != 'JUGADOR': # ignoramos la primera línea del archivo CSV
jugadores = Jugador()
jugadores.nombre = row[0]
jugadores.apellidos = row[1]
jugadores.posicion = row[2]
jugadores.precio = row[3]
jugadores.save()


despues he creado un fichero .csv con la codificacion de la siguiente forma

Gareth,Bale,DC, 9750000
Lucas,Vazquez,DC, 4750000
Jese,Rodriguez,DC, 6750000
Tonny,Kroos,MC, 10000000

que cada uno modifique los ficheros a su gusto y todo va perfecto.

Porcierto para ejecutarlo, entrar en python manage.py shell y desde ahi escribir import nombreFichero

y ya se hara todo solo
 
Arriba