Questo è il mio models.py:Ottenere un "I seguenti tipi di contenuto sono obsoleti e devono essere cancellati" quando si tenta di eseguire una migrazione. Cosa significa questo e come posso risolverlo?
class Notification(models.Model):
user = models.ForeignKey(User)
createdAt = models.DateTimeField(auto_now_add=True, blank=True)
read = models.BooleanField(default=False, blank=True)
class Meta:
abstract = True
class RegularNotification(Notification):
message = models.CharField(max_length=150)
link = models.CharField(max_length=100)
class FNotification(Notification):
# same as Notification
pass
Quando faccio python manage.py makemigrations
, questo è quello che dice:
Migrations for 'CApp':
0019_auto_20151202_2228.py:
- Create model RegularNotification
- Create model FNotification
- Remove field user from notification
- Add field f_request to userextended
- Delete model Notification
In primo luogo, è strano che si dice Remove field user from notification
perché user
è ancora nel mio modello Notiication
(quindi se qualcuno può capire perché dice che dice 'rimuovendo l'utente da notifica', sarebbe fantastico!), ma comunque, quando mi sposto e cerco di fare python manage.py migrate
ottengo questo messaggio:
Applying CMApp.0019_auto_20151202_2228... OK
The following content types are stale and need to be deleted:
CApp | notification
Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.
Type 'yes' to continue, or 'no' to cancel: no
Ho digitato no
. Ma cosa significa esattamente questo, perché sto ricevendo questo messaggio e come faccio a fare in modo che non richieda questo messaggio?
Ho capito perché ho dimenticato di eseguire l'ultimo commit del repository. La mia ultima migrazione locale non era l'ultima nel repository. : P Ho tirato il codice remoto, ho eseguito di nuovo le migrazioni e ho lavorato come un incantesimo. – joaorodr84