entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Django - Como guardo el id del usuario logueado como llave foranea?

models.py

class Torneo(models.Model):
    user = models.ForeignKey(User)
    descripcion = models.CharField(max_length=200)

    def __str__(self):
        return (self.descripcion)

La idea es que el usuario logueado crea un torneo y quede su id guardada como llave foranea.

views.py

class Torneo_CreateView(CreateView):
    model = Torneo
    form_class = TorneoForm
    template_name = "torneos/torneo_crear.html"
    succes_url = reverse_lazy('torneos:torneo_listar')

forms.py


class TorneoForm(forms.ModelForm):
    class Meta:
        model = Torneo
        fields = [
            'descripcion',
        ]   

1 Respuesta

1voto

firecrack Puntos200

Jo haría una base de datos en la que guardar los usuarios, por lo que con lenguaje PHP y SQL, crearias los usuarios en una tabla. Cosa que puedes hacer vinculando la base de datos al documento PHP y al decir que se registren puedes guardar en variables los datos que han introducido en el formulario para registro. Por lo que esas variables luego las añades a la consulta SQL que utilizaras para añadir el usuario en la tabla de USUARIOS de la base da datos que has vinculado.

La consulta SQL es la siguiente:

INSERT INTO USUARIOS ('ID',$NAME,$EMAIL,$PASSWORD)

Donde $NAME, $EMAIL,y $PASSWORD son las variables donde guardas anteriormente los datos que los usuarios han introducido en los campos del formulario.

Si quieres que el ID sea clave foranea, le dices a la hora de crear la tabla USUARIOS, que el campo ID va a ser una FOREIGN KEY.

Espero haber ayudado, un saludo!!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta