2015-04-09 18 views
5

Tentativo di migrare un progetto da Django 1.7 a 1.8. Dopo aver lottato con errori di codice, sono in grado di eseguire le migrazioni. Tuttavia, quando provo a migrare, mi viene dato l'errore "L'oggetto NoneType" non ha attributo "_meta" "Django 1.8 Migrazioni - L'oggetto "NoneType" non ha attributo "_meta"

Non c'è alcun riferimento nel traceback a nessuna delle mie app, quindi non sono sicuro di dove esattamente per andare in cerca di bug (come pure che il codice per includere qui così posso essere più utile per coloro che cercano di aiutarmi)

Ecco il testo integrale della traceback

(venv)[email protected]:~/Projects/sparrow1/NJ$ ./manage.py makemigrations 
No changes detected 
(venv)[email protected]:~/Projects/sparrow1/NJ$ ./manage.py migrate 
Operations to perform: 
    Synchronize unmigrated apps: staticfiles, editor, djcelery, messages, getty, kombu_transport_django, debug_toolbar, utils, locking, petro, tokenapi, grappelli, django_extensions, selectable 
    Apply all migrations: adops, taxonomy, issues, editorial, contenttypes, authors, auth, comms, membership, sessions, bento, urlalias, accounts, breaking_news, easy_thumbnails, images, admin, pages, documents, events 
Synchronizing apps without migrations: 
    Creating tables... 
    Running deferred SQL... 
    Installing custom SQL... 
Running migrations: 
    Rendering model states...Traceback (most recent call last): 
    File "./manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 330, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/core/management/base.py", line 390, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/core/management/base.py", line 441, in execute 
    output = self.handle(*args, **options) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 221, in handle 
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/db/migrations/executor.py", line 104, in migrate 
    state = migration.mutate_state(state, preserve=do_run) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/db/migrations/migration.py", line 83, in mutate_state 
    operation.state_forwards(self.app_label, new_state) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/db/migrations/operations/fields.py", line 51, in state_forwards 
    state.reload_model(app_label, self.model_name_lower) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/db/migrations/state.py", line 97, in reload_model 
    related_models = get_related_models_recursive(old_model) 
    File "/home/rtownley/Projects/sparrow1/venv/lib/python3.4/site-packages/django/db/migrations/state.py", line 57, in get_related_models_recursive 
    rel_app_label, rel_model_name = rel_mod._meta.app_label, rel_mod._meta.model_name 
AttributeError: 'NoneType' object has no attribute '_meta' 

Altri pezzi che potrebbe essere potenzialmente in gioco: -Ho un gestore personalizzato che ascolta l'evento di salvataggio, serializza i dati e crea un oggetto identico in Mong o -Esecuzione di un ambiente virtuale con Python3.4

Qualche idea su dove andare a cercare l'errore? Grazie e scusami, non posso ancora fornire più codice!

+0

Anche mostrare il codice per la migrazione sarebbe stato un lungo cammino. – Makoto

+3

Sembra che uno dei tuoi modelli sia correlato a un modello che non esiste? – meiamsome

+0

Ughhhh era così. Un modello che avevo cancellato è stato aggiunto di nuovo da un'altra persona durante l'unione di Git. Grazie per avermi messo sulla strada giusta! –

risposta

3

Grazie a meiamsome, ho capito: uno dei miei modelli aveva una relazione ForeignKey con un modello che non esisteva più (l'avevo rimosso e un Git merge l'aveva aggiunto). Grazie per l'aiuto!

Problemi correlati