2017-07-26 5 views
1

Ich habe gerade ein Feld zu meinem Modell hinzugefügt und die Werte des Feldes zu meinen Fixtures hinzugefügt. Allerdings bekomme ich diesen Fehler:django.db.utils.ProgrammingError: Konnte nicht laden: Spalte "" der Beziehung "" existiert nicht

was ist der gleiche Fehler, den ich vor dem sogar Werte in das Gerät setzen. Was vergesse ich?

Hier ist der Traceback:

Traceback (most recent call last): 
    File "./manage.py", line 12, in <module> 
    execute_from_command_line(sys.argv) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line 
    utility.execute() 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/base.py", line 345, in execute 
    output = self.handle(*args, **options) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 64, in handle 
    self.loaddata(fixture_labels) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 104, in loaddata 
    self.load_label(fixture_label) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 167, in load_label 
    obj.save(using=self.using) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/core/serializers/base.py", line 201, in save 
    models.Model.save_base(self.object, using=using, raw=True, **kwargs) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/models/base.py", line 824, in save_base 
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/models/base.py", line 889, in _save_table 
    forced_update) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/models/base.py", line 939, in _do_update 
    return filtered._update(values) > 0 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/models/query.py", line 654, in _update 
    return query.get_compiler(self.db).execute_sql(CURSOR) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1148, in execute_sql 
    cursor = super(SQLUpdateCompiler, self).execute_sql(result_type) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql 
    cursor.execute(sql, params) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/webapps/my_app/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
django.db.utils.ProgrammingError: Problem installing fixture '/webapps/my_app/tools/fixtures/tools.json': Could not load myapp.model(pk=3): column "new_field" of relation "myapp_model" does not exist 
LINE 1: ..._LOCK,android.permission.RECEIVE_BOOT_COMPLETED', "new_field"... 
+0

Im dB existiert die Spalte nicht, für die ein Wert in der Fixture vorhanden ist. Sie sollten migrieren oder doppelt überprüfen, dass es in der Fixture und der dB-Tabelle dieselben Attribute gibt. –

+0

Da dieser Fehler auftritt, kann ich nicht migrieren. Soll ich diese Spalte einfach zur db hinzufügen? @ArpitSolanki – cookiedough

+1

Ja, das könnte eine Option sein –

Antwort

0

So ist die Art, wie ich dieses Problem gelöst nicht so viel Sinn. Ich habe es getan, indem ich die Spalte der Tabelle manuell hinzufügte. Dann lief ich migrate. Da ich die Spalte das zweite Mal hatte, als ich migrierte, ist der Fehler in der Spalte bereits vorhanden. Also habe ich die Spalte gelöscht und die Spalte automatisch erstellt. Ich bin mir nicht sicher, warum es nicht in erster Linie funktioniert hat, aber wenn Sie dieses Problem haben, optimieren Sie mit der Datenbank.

Verwandte Themen