2017-04-03 1 views
0

테스트를 위해 시스템의 장고 버전을 1.6.10에서 1.8.16으로 업그레이드합니다. 이전 버전에서는 마이그레이션을 위해 South를 사용합니다. 그래서이 문서 'https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south'을 따라갔습니다.Django makemigrations가 매번 'auth.user'를 변경합니다.

내 문제는 모든 필드가 동일한 필드를 확인한 다음 마이그레이션 파일을 작성하는 것입니다. 해당 필드는 'auth.User'외래 키 필드입니다. user = models.ForeignKey('auth.User')입니다.

여기에 해당 문제에 대한 나의 스크린 샷이 있습니다.

enter image description here

enter image description here

이 그 외래 키 필드에 대한 샘플 코드입니다

.

cancelled_by = models.ForeignKey(
    'auth.User', 
    verbose_name=_("Cancelled by"), 
    related_name='project_cancel', 
    blank=True, 
    null=True 
) 

어떻게 수정할 수 있습니까?

최종 수정 : 모든 마이 그 레이션 후에 makemigrations가 만든 마이 그 레이션 파일입니다.

class Migration(migrations.Migration): 

dependencies = [ 
    ('meeting', '0003_meeting_proposal'), 
] 

operations = [ 
    migrations.AlterField(
     model_name='meeting', 
     name='manager', 
     field=models.ForeignKey(verbose_name='Manager', blank=True, to=settings.AUTH_USER_MODEL, null=True), 
    ), 
] 
+0

각 마이그레이션 후 "마이그레이션"을 실행 했습니까? – morinx

+0

@morinx 예. 그냥 마이 그 레이션. 내가 가짜 야? – beCurious

+0

최근에 만든 마이그레이션 파일을 먼저 삭제하고 makemigration을 다시 시도하십시오. – morinx

답변

0

최근에 만든 이전 파일을 삭제하고 makemigration을 다시 시도합니다.

Django는 폴더에서 무엇이 변경되었는지에 관계없이 쉽게 다시 작성할 수 있기 때문에 일반적인 해결책입니다.

위와 같은 마이그레이션을 위조 할 수는 있지만 마이그레이션 폴더를 깨끗하고 깔끔하게 유지하는 것이 좋습니다.

관련 문제