>source

현재 버전 1.11 버전에서 3.2 버전에서 레거시 Django 앱을 업그레이드하고 있습니다.

위험을 최소화하기 위해 한 번에 하나의 마이너 버전을 업그레이드하고 있습니다. 즉, 1.11 -> 2.0 -> 2.1 등

버전 2.0.13 에서 2.1.15 에서 업그레이드 할 때 Django 쉘을 열려고 할 때 다음 오류가 발생했습니다.

python manage.py shell_plus
SystemCheckError: System check identified some issues:
ERRORS:
myapp.DemoModel: (models.E026) The model cannot have more than one field with 'primary_key=True'.

여기 내 모델입니다.

class DemoModel(models.Model):
    field_a= models.OneToOneField(ModelA, models.DO_NOTHING, primary_key=True)
    field_b= models.OneToOneField(ModelB, models.DO_NOTHING, primary_key=True)
    creation_time= models.DateTimeField(auto_now=True)
    class Meta:
        managed= False
        db_table= 'demo_model'
        unique_together= (('field_a', 'field_b'),)

어떻게 이것을 고칠 수 있습니까? Django Shell은 Django 2.1 이전 버전과 함께 일했습니다.

미리 감사드립니다.

종류의 안부,

unique_together 및 primary_key 조건은 "상호 배타적"입니다.

JPG2021-05-04 20:30:13

고맙습니다.

Atenea_v102021-05-04 20:30:13
  • 이전 ios : MailTo 링크를 사용하지 않고 SwiftUI에서 기본 전자 메일 앱을 열는 방법은 무엇입니까?
  • 다음 MongoDB의 "00:10:00"을 단일 정수로 변환하고 싶습니다.