나는 흥미로운 문제에 직면하고있다. 문제가 있는지 알지 못하지만 필요한 예상 값을 제공하지 못한다. 여기 예를 들어 두 모델이 있습니다.ManyToManyField를 올바른 순서로 추가
class Name(models.Model):
""" """
name = models.CharField(max_length=20)
class Dir(models.Model):
name = models.ForeignKey(Name)
children = models.ManyToManyField('Dir', null=True, blank=True, related_name="dirs")
예를 들어, 어린이 'A', 'B'에 두 개의 디렉토리를 추가했습니다. 이제 저는 두 아이를 제가 추가 한 순서대로 되찾고 싶습니다. 그러나 문제는 그것이 아래의 순서대로 나를 제공하고 있다는 것이다. 'B', 'A'. 내가 추가 한 것과 정확히 같은 순서로 유지하는 방법?
Django는'm2m' 필드의 경우 삽입 순서 보존을 보장하지 않으므로'through' 테이블을 작성하고 거기에 순서를 정의해야합니다. –
감사합니다. 그러나 모델과 그 아이들이 같은 이름 인 'Dir'을 가지고 어떻게 사용할 수 있습니까? 나는 시도했다. 그러나 만드는 법을 정말로 이해할 수 없다. – user968677
시도해 보셨습니까? '클래스 DirEntry (models.Model) :' '부모 = models.ForeignKey (DIR)' '아이 = models.ForeignKey (DIR)' '순서 = models.IntegerField()' 그러나 나에게있어'Through '를 가진'ManyToManyField'는 너무 많은 한계를 가지고있다. 'add()','create()'메쏘드, 그리고 관리자는 작동하지 않을 것입니다. (필터를 사용하여'Dir.objects'를 재정의하는 것을 의미합니다) - 외래 키에 의한 중간 모델을 사용하는 것이 더 낫습니다. – HighCat