Обычный ManyToMany
здесь не работает, потому что таблица ассоциации должна содержать порядок. Итак, в этом случае вы должны привести through
к миксу:
class Gallery(models.Model):
medias = models.ManyToManyField('Media',related_name='medias', through='ChildGallery')
Где ChildGallery
- это модель соединения:
class ChildGallery(models.Model):
child = models.ForeignKey(Child)
gallery = models.ForeignKey(Gallery)
order = models.IntegerField()
class Meta:
ordering = ['order']
Я не знаю, как вы это сделаете нравится реализовывать порядок, но если это просто число, вы можете использовать IntegerField
, как я показал выше.
PS Примечание. Все модели ассоциаций заключены в кавычки (например, 'Child'
, а не Child
). Это позволяет нарушать круговые зависимости, поэтому я рекомендую использовать этот способ