2010-03-25 2 views
2

내가 장고에이 모델이 있습니다장고 + 포스트 그레스 : 필드에 대한 순서를 지정하는 방법

class JournalsGeneral(models.Model): 
    jid = models.AutoField(primary_key=True) 
    code = models.CharField("Code", max_length=50) 
    name = models.CharField("Name", max_length=2000) 
    url = models.URLField("Journal Web Site", max_length=2000, blank=True) 
    online = models.BooleanField("Online?") 
    active = models.BooleanField("Active?") 
    class Meta: 
     db_table = u'journals_general' 
     verbose_name = "Journal General" 
     ordering = ['code'] 
    def __unicode__(self): 
     return self.name 

내 문제는 DB (포스트 그레스)에 jid에 연결된 시퀀스의 이름 journals_general_jid_seq대로되지 않는 것입니다을 장고가 예상했지만 다른 이름을 가지고있다.

장고가 AutoField에 사용하는 시퀀스를 지정하는 방법이 있습니까? 내가 읽은 문서에서 나는 대답을 찾을 수 없었습니다.

답변

1

나는 그렇게 생각하지 않습니다,하지만 오픈 티켓이 (가능성이 유용한 패치는?) :

http://code.djangoproject.com/ticket/1946

편집 :

사실, 그 링크 위에있다 패치 자체보다 나은 솔루션을 가진 스레드에서 HM의 의견. 패치가 오래되었습니다. 사용중인 장고 버전에 적용 할 수 있는지 확실하지 않습니다.

+0

왜 패치를 작성하고 함수를 재정의하지 않는가? –

+0

미안하지만이 패치를 적용 할 위치를 찾을 수 없습니다 ... 이 파일이 더 이상 존재하지 않는 것처럼 보입니다 ... –

+0

@ 지오바니 : 그들은 패치를 쓰지 않고 있습니다. 누군가가 당신과 똑같은 문제를 발견했습니다. 패치를 제공했습니다. 패치 또는 대안은 어느 시점에서 프로젝트의 트렁크에 올라갈 수 있습니다 (그렇지 않으면 일부 패치는 결코 가치가없는 것으로 간주됩니다). 패치는 http://code.djangoproject.com/attachment/ticket/1946/source-patch 링크를 사용하고 하단의 다운로드 링크를 사용하십시오. 그것을 적용하려면'patch'를 사용해야합니다. 'patch'를 사용하는 데 도움이 필요하면이 블로그 게시물이 도움이 될 것입니다 : http://stephenjungels.com/jungels.net/articles/diff-patch-ten-minutes.html – cethegeek

1

장고의 패치는 무엇입니까? http://code.djangoproject.com/ticket/8901? 그리고 정말로 서열의 이름이 필요합니까? 버전 8.2로, PostgreSQL을 사용하면 생성 된 ID를 얻을하는 데 사용할 수있는 INSERT의에서 사용하는 (그리고 UPDATE 및 DELETE) 수의 반품했습니다

INSERT INTO foo(bar) VALUES('John') RETURNING id; 

장고이 처리 할 수 ​​있다면 나는 아무 생각을 (AN INSERT를 가져 오는 -result)하지만 성능면에서도 좋은 점도 있습니다.

+0

이것은 질문에 대답하지 않으며 이것이 어떻게 관련되어 있는지도 모르겠습니다. – WhyNotHugo