Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
ForeignKey Arguments | Relations
Django ORM Ninja: Técnicas Avanzadas para Desarrolladores
course content

Contenido del Curso

Django ORM Ninja: Técnicas Avanzadas para Desarrolladores

Django ORM Ninja: Técnicas Avanzadas para Desarrolladores

1. Introduction to Django ORM
2. Models, datatypes, and fields
3. Queries
4. Relations
5. Complex Queries
6. Advanced

book
ForeignKey Arguments

To define a Many-to-One relation, models.ForeignKey is used. The first argument corresponds to the model to relate to, and the second, 'on_delete', specifies the behavior when the related object is deleted. The options include:

  • CASCADE: Deleting a genre deletes all associated books.
  • PROTECT: Prevents deletion if there are related books.
  • SET_NULL: Sets the genre to Null if null=True in model definition.
  • SET_DEFAULT: Sets a default value if the genre is deleted if there available some default value.
  • DO_NOTHING: No action, but may lead to IntegrityError.

The related_name argument in ForeignKey is useful for reverse relation from the Genre model back to Book model. If you don't specify a related_name, Django automatically creates one using the name of your model with the suffix _set (Genre.book_set.all()).

In our case works:

This structure provides a clear understanding of the Many-to-One relationship in Django, showcasing how to define and utilize it effectively.

1. What does 'models.ForeignKey' do in a Django model?
2. What happens when 'on_delete=models.CASCADE' is set in a ForeignKey relationship?
3. What is the purpose of the 'related_name' argument in a ForeignKey field?
What does 'models.ForeignKey' do in a Django model?

What does 'models.ForeignKey' do in a Django model?

Selecciona la respuesta correcta

What happens when 'on_delete=models.CASCADE' is set in a ForeignKey relationship?

What happens when 'on_delete=models.CASCADE' is set in a ForeignKey relationship?

Selecciona la respuesta correcta

What is the purpose of the 'related_name' argument in a ForeignKey field?

What is the purpose of the 'related_name' argument in a ForeignKey field?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
We're sorry to hear that something went wrong. What happened?
some-alt