Bonjour, je suis actuellement le cours sur django et j'en suis aux modèles et plus précisément à la migrations des modèles vers la base de donné, j'aurai besoin de votre aide svp parce que j'ai une erreur que je n'arrive pas à gérer lorsque que je fais la commande makemigrations : TypeError: __init__() missing 1 required positional argument: 'on_delete'.
je vous met mon ficheir models.py ci dessous:
from django.db import models, migrations
class Artist(models.Model):
name = models.CharField(max_length=200, unique=True)
class Contact(models.Model):
email = models.EmailField(max_length=100)
name = models.CharField(max_length=200)
class Album(models.Model):
referance = models.IntegerField(null=True)
created_at = models.DateTimeField(auto_now_add=True)
available = models.BooleanField(default=True)
title = models.CharField(max_length=200)
picture = models.URLField()
artists = models.ManyToManyField(Artist, related_name='albums', blank=True)
class Booking(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
contacted = models.BooleanField(default=False)
contact = models.ForeignKey(Contact, on_delete=models.CASCADE)
album = models.OneToOneField(Album)
Après la version 1.x de Django, le paramètre on_delete est obligatoirement renseigné sur les ForeignKey comme sur les OneToOneField
Un paramètre positionnel est obligatoire : la classe à laquelle le modèle est lié. Ceci fonctionne exactement de la même manière que pour ForeignKey,y compris toutes les options concernant les relations récursives et différées.
Ci-dessus ce que dit la doc et le point important en gras.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
j'ai un problème avec models.CASCADE - cours djang
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)