모델 City와 ManyToMany 관계가 있으며 상태가있는 외래 키에 대한 필드가 있습니다. Django admin 필드 위젯에 상태 이름을 포함 시켜서 자동 완성이되도록 노력하고 있습니다 (Django 프로젝트에 도시가 ,이기 때문에). Django 모델의 유니 코드 출력에 외래 키를 추가하는 가장 좋은 방법
나는 다음과 같이시__unicode__
에
state.name
을 추가 할 생각 :
class State(models.Model):
name = models.CharField(max_length=100)
class City(models.Model):
name = models.CharField(max_length=100)
state = models.ForeignKey(State)
def __unicode__(self):
return u'(%s) %d. %s' % (self.state.name, self.id, self.name)
class Person(models.Model):
cities_lived_in = models.ManyToManyField(City, null=True, blank=True)
하지만이 분 이상에 의해로드 시간을 증가 : 4 초 1.6 분.
Django의 manytomany 위젯에 상태 이름을 추가하는 데 시간이 오래 걸리는지 궁금합니다. 모델 폼을 변경할 수도 있지만 모든 도시를 검색 한 다음 반복하고 모든 관련 상태를 조회하므로 동일한 결과가 더 나쁘지는 않을지라도 생각합니다.
관리자와 함께 장고 1.6을 사용하고 "withState"가 작동합니다. 하지만 그것 없이는 Unicode()에 외래 키 문자열을 가지고있을 때 오류가 발생합니다 : 일치하는 쿼리가 존재하지 않습니다. 이상한. –
Timo