2012-06-03 2 views
0

Django (1.5)를 사용하여 3 열에서 UNIQUE 인덱스를 생성 할 수 없습니다. 내 모델의 모습은 다음과 같습니다.Django unique_together가 작동하지 않습니다

class Loc(models.Model): 
    rand = models.IntegerField() 
    sectiune = models.ForeignKey(Sectiune) 
    numar = models.IntegerField() 
    pret = models.FloatField() 

    def __unicode__(self): 
     return str(self.sectiune.nume) + ': R' + str(self.rand) + ' L' +  str(self.numar) 

    class Meta: 
     unique_together = (("rand","sectiune","numar"),) 

정말 잘못된 것입니다. unique_together이 외래 키에서 작동하지 않는다는 버그 보고서를 보았지만 해결 된 것으로 보았습니다. 어떤 도움이 필요합니까?

+0

필드 이름 대신 열 이름을 사용 해본 적이 있습니까? –

+0

작동하지 않습니다. 오류가 발생합니다. "unique_together"는 존재하지 않는 필드 인 sectiune_id를 참조합니다. –

답변

1

장고가 결국 똑똑하지 않다는 것을 알았습니다. ALTERUNIQUE 제약 조건을 만드는 방법을 알지 못합니다. 방금 테이블을 삭제하고 syncdb을 다시 실행해야했고 제약 조건이있었습니다.

+3

Django South를보고 싶을 수도 있습니다. 데이터베이스 마이그레이션을 다루는 것이 훨씬 낫습니다. –

+0

@MikeDeSimone은 여러분의 의견을 놓쳐 버렸음에 틀림 없습니다.하지만 그렇습니다, South는 트릭을했습니다 (그리고 장고 1.7의 마이그레이션 시스템도 그렇습니다). –

관련 문제