2017-02-03 4 views
0

作成する必要がある新しいSQLテーブルに対応するmodels.pyに新しいモデルを追加しました。私はIdフィールドを追加しました。python manage.py migrateは重複フィールドであると言われています(おそらくIdフィールドも自動的に追加されています)。Python Djangoは移行からの変更を受け取りません

これは問題ではありません。モデルからそのフィールドを削除し、を再実行しました。これは、Idフィールドが削除されていることを正しく報告しました。 models.pyから私はpython manage.py migrateを実行した再と思うが、それはまだそこに重複Idフィールドであることの同じエラーを与える...

class TII(models.Model): 
    Person_bnr_id = models.CharField(max_length = 128, unique = True) 
    COURSE_IDENTIFICATION = models.CharField(max_length = 128, unique = True) 
    Course_start = models.CharField(max_length = 128, unique = True) 
    Course_end = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W01 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W02 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W03 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W04 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W05 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W06 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W07 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W08 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W09 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W10 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W11 = models.CharField(max_length = 128, unique = True) 
    TurnItIn_W12 = models.CharField(max_length = 128, unique = True) 

python manage.py migrateから:

(P27_D19) [[email protected] loeuk]# python manage.py migrate 
Operations to perform: 
    Apply all migrations: admin, contenttypes, studentprogress, auth, sessions 
Running migrations: 
    Rendering model states... DONE 
    Applying studentprogress.0100_tii...Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 200, in handle 
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/migrations/executor.py", line 92, in migrate 
    self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/migrations/executor.py", line 121, in _migrate_all_forwards 
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/migrations/executor.py", line 198, in apply_migration 
    state = migration.apply(state, schema_editor) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/migrations/migration.py", line 123, in apply 
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/migrations/operations/models.py", line 59, in database_forwards 
    schema_editor.create_model(model) 
    File "/srv/P27_D19/lib/python2.7/site-packages/sql_server/pyodbc/schema.py", line 535, in create_model 
    self.execute(sql, params or None) 
    File "/srv/P27_D19/lib/python2.7/site-packages/sql_server/pyodbc/schema.py", line 584, in execute 
    cursor.execute(sql, params) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute 
    return self.cursor.execute(sql, params) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/utils.py", line 95, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/srv/P27_D19/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute 
    return self.cursor.execute(sql) 
    File "/srv/P27_D19/lib/python2.7/site-packages/sql_server/pyodbc/base.py", line 537, in execute 
    return self.cursor.execute(sql, params) 
django.db.utils.ProgrammingError: ('42S21', "[42S21] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Column names in each table must be unique. Column name 'Id' in table 'studentprogress_tii' is specified more than once. (2705) (SQLExecDirectW)") 

ここれますshowmigrationsの出力:

admin 
[X] 0001_initial 
[X] 0002_logentry_remove_auto_add 
auth 
[X] 0001_initial 
[X] 0002_alter_permission_name_max_length 
[X] 0003_alter_user_email_max_length 
[X] 0004_alter_user_username_opts 
[X] 0005_alter_user_last_login_null 
[X] 0006_require_contenttypes_0002 
[X] 0007_alter_validators_add_error_messages 
contenttypes 
[X] 0001_initial 
[X] 0002_remove_content_type_name 
sessions 
[X] 0001_initial 
studentprogress 
[X] 0001_initial 
[X] 0002_delete_aa 
[X] 0003_advisor 
[X] 0004_student 
[X] 0005_delete_student 
[X] 0006_student 
[X] 0007_staff 
[X] 0008_remove_staff_mgrid 
[X] 0009_auto_20160505_0909 
[X] 0010_delete_generaluser 
[X] 0011_generaluser 
[X] 0012_remove_generaluser_institution 
[X] 0013_delete_generaluser 
[X] 0014_generaluser 
[X] 0015_delete_generaluser 
[X] 0016_generaluser 
[X] 0017_delete_student 
[X] 0018_delete_generaluser 
[X] 0019_generaluser 
[X] 0020_delete_generaluser 
[X] 0021_generaluser 
[X] 0022_student 
[X] 0023_delete_student 
[X] 0024_student 
[X] 0025_studenthold 
[X] 0026_studentsro 
[X] 0027_delete_studentsro 
[X] 0028_studentsro 
[X] 0029_delete_studentsro 
[X] 0030_studentprep 
[X] 0031_student_program_end_date 
[X] 0032_studentfirstmodule 
[X] 0033_studentpaymentdetail_studentpaymentsummary 
[X] 0034_auto_20160615_1243 
[X] 0035_delete_studentpaymentdetail 
[X] 0036_studentpaymentdetail 
[X] 0037_delete_studentpaymentdetail 
[X] 0038_studentpaymentdetail 
[X] 0039_auto_20160615_1310 
[X] 0040_delete_studentpaymentdetail 
[X] 0041_studentpaymentdetail 
[X] 0042_delete_studentpaymentdetail 
[X] 0043_studentpaymentdetail 
[X] 0044_delete_studentpaymentdetail 
[X] 0045_studentpaymentdetail 
[X] 0046_remove_studentpaymentdetail_effective_due_date 
[X] 0047_studentpaymentdetail_effective_due_date 
[X] 0048_auto_20160615_2307 
[X] 0049_auto_20160615_2309 
[X] 0050_studentsummary 
[X] 0051_delete_studentfirstmodule 
[X] 0052_studentfirstmodule 
[X] 0053_delete_studentfirstmodule 
[X] 0054_studentfirstmodule 
[X] 0055_delete_studentfirstmodule 
[X] 0056_studentfm_uol_studentfm_uor 
[X] 0057_delete_studentfm_uol 
[X] 0058_studentfm_uol 
[X] 0059_delete_studentsummary 
[X] 0060_studentsummary 
[X] 0061_advisorportfolio 
[X] 0062_delete_advisorportfolio 
[X] 0063_advisorportfolio 
[X] 0064_auto_20160712_1525 
[X] 0065_advisor_advisor_name 
[X] 0066_auto_20160713_1614 
[X] 0067_auto_20160713_1616 
[X] 0068_remove_advisor_institution 
[X] 0069_auto_20160713_1620 
[X] 0070_advisor_location 
[X] 0071_auto_20160713_1624 
[X] 0072_auto_20160715_1437 
[X] 0073_studentprep 
[X] 0074_moduleprogress_onboarding 
[X] 0075_auto_20160722_1422 
[X] 0076_studentmoduleprogress_studentonboarding 
[X] 0077_delete_studentmoduleprogress 
[X] 0078_studentmoduleprogress 
[X] 0079_delete_studentonboarding 
[X] 0080_studentonboarding 
[X] 0081_delete_studentonboarding 
[X] 0082_studentonboarding 
[X] 0083_delete_studentpaymentsummary 
[X] 0084_studentpaymentsummary 
[X] 0085_delete_studentpaymentsummary 
[X] 0086_studentpaymentsummary 
[X] 0087_delete_studentpaymentsummary 
[X] 0088_studentpaymentsummary 
[X] 0089_auto_20160905_1827 
[X] 0090_auto_20160905_1828 
[X] 0091_auto_20160905_1828 
[X] 0092_auto_20160905_1829 
[X] 0093_auto_20160905_1829 
[X] 0094_auto_20160906_1112 
[X] 0095_remove_student_referrer_email 
[X] 0096_auto_20160906_1114 
[X] 0097_student_referrer_first_name 
[X] 0098_student_referrer_last_name 
[X] 0099_student_referrer_email 
[ ] 0100_tii 
[ ] 0101_remove_tii_id 
+0

'showmigrations'の出力は何ですか? –

+0

@RaphaëlGomès大きな質問ですが、私はその情報を今すぐ追加します –

+0

私たちに '0100_tii'ファイルを表示できますか? –

答えて

3

showmigrationsの出力では、0100_tiiの移行はまだ適用されていません。

[X] 0099_student_referrer_email 
[ ] 0100_tii 
[ ] 0101_remove_tii_id 

ので、私は両方0100_tii0101_remove_tii_idファイルを削除します。その後、makemigrationsを再実行できます。 0100_tiiのすべてがidフィールドを追加した場合は、モデルをさらに変更するまでmakemigrationsを実行する必要はありません。

+0

これらのファイルをどこに見つけて削除することができるのか説明できますか?今回が初めてです。ありがとう! –

+0

それは私の直感でもあります。@ Hack-R:私とのチャットで議論を続けてください。(コメントを参照) –

+0

@RaphaëlGomès確かに、私は今チャットに参加します。私の上司は私に何かを求めていた、遅れて申し訳ありません。 –

関連する問題