Vous n'êtes pas identifié(e).
Bonsoir,
J'ai un souci avec la création de ma class sous Django 1.7 (configuré avec Python 3.4).
J'ai une classe qui me semble classique, en suivant le tuto sur OpenClassrooms : http://openclassrooms.com/courses/de...amework-django, un bouquin que j'ai acheté ainsi que sur la documentation officielle Django mais je bloque et aucun ne parle vraiment en détail de la propriété DateField et DateTimeField.
Donc ci-après ma class toute simple pour créer la table:
class Publisher(models.Model):
name = models.CharField(max_length=150)
slug = models.CharField(max_length=150)
added = models.DateTimeField(auto_now_add=True)
edited = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
Ensuite j'execute python manage.py makemigrations sauf que voilà ce que ça me dit :
You are trying to add a non-nullable field 'added' to collection without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows)
2) Quit, and let me add a default in models.py
Je ne comprends pas ce que je dois faire. Il me semblait que auto_now_add=True et auto_now=True étaient là pour ça...
J'ai cherché sur google mais soit les stackoverflow sont trop complexes pour ma compréhension encore toute relative de Django, soit c'est hors sujet.
Merci d'avance pour l'explication de ce bug et éventuellement la façon de le résoudre.
Bonne soirée,
Hors ligne
Bonjour,
Il n'y a pas de bug. Tu ajoutes une colonne non nulle dans ta base de donnée. Pour le cas où tu aurais déjà des données il faut leur donner une valeur moyennant quoi la contrainte de non-nullité ne serait pas respectée.
Hors ligne