Django : 기본 키를 지정하지 않고 조명기를 만드시겠습니까?
Django 설비에 대해 저를 괴롭히는 것 중 하나는 모든 모델의 기본 키를 지정해야한다는 것입니다. 각 행에 대한 기본 키를 지정하지 않고 조명기를 만드는 방법이 있습니까?
"pk : 1"(또는 기타) 대신 "pk : null"을 사용하면 PK가 None으로 설정되고 개체가 저장 될 때 기본 키가 할당됩니다.
이것은 적어도 YAML에서 작동합니다. 손으로 만드는 경우 사용하고 있다고 생각합니다.
pk를 사용하지 않고 관계를 추가하려는 경우 Natural Keys를 살펴 봐야합니다.
https://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-app-label-app-label-app-label-model
manage.py dumpdata 명령을 확인하면 --natural-foreign, --natural-primary라는 몇 가지 옵션이 표시됩니다. 출력을 보면 기본 키 또는 외래 키를 사용하지 않고 객체가 덤프되는 것을 볼 수 있습니다.
내 친구가 fixture
모듈을 제안했습니다 . http://farmdev.com/projects/fixture/
기존 DB 스키마를 변경할 가능성없이 처리해야했기 때문에 복잡한 기본 키가 있거나 전혀없는 테이블이 필요하지만 직렬 키는 없습니다. 제가 한:
필드에 primary_key = True를 지정했습니다.이 필드는 전혀 고유하지 않아야하며 오버로드 된 메서드를 작성했습니다.
class ContraIndicationsMedicines(models.Model):
contra_indication = models.ForeignKey(ContraIndication, primary_key=True)
medicine = models.ForeignKey(Medicine)
def validate_unique(self, exclude=None):
pass
사실, 그것은 내 필요에 맞았지만 django.contib.admin. * 내부에 더 많은 유효성 검사 호출이 있으며 모든 인라인 등이 작동하도록 보장되는 것은 아닙니다. 이것이 내가 구현할 수있는 유일한 해결책이었습니다 ... ((
참조 URL : https://stackoverflow.com/questions/1499898/django-create-fixtures-without-specifying-a-primary-key
'IT story' 카테고리의 다른 글
LINQ : 점 표기법과 쿼리 식 (0) | 2020.12.30 |
---|---|
Model View Presenter 란 무엇입니까? (0) | 2020.12.30 |
렌더링하기 전에 뷰 측정 (0) | 2020.12.30 |
MSDeploy (Visual Studio)를 App_Data 폴더를 삭제하지 않고 나머지는 모두 삭제합니다. (0) | 2020.12.30 |
Java 클래스가 런타임에 자신에게 메소드를 추가 할 수 있습니까? (0) | 2020.12.30 |