Python Django-在中介模型的id上排序多对多关系,而不使用through

Python Django-在中介模型的id上排序多对多关系,而不使用through,python,django,Python,Django,我在对多对多字段进行排序时面临这个问题 我在业余爱好领域有着多对多的关系。 我想保持用户添加爱好的顺序。这可以通过对中间模型id上的记录进行排序来完成 许多人建议使用through并添加一些字段进行排序。 但这在我使用相关模型的add函数创建记录时产生了问题 是否有任何方法可以向中介模型提供元排序,以便在我访问数据时它可以按id排序 我的模型是- class User(AbstractBaseUser, PermissionsMixin): first_name = models.

我在对多对多字段进行排序时面临这个问题

我在业余爱好领域有着多对多的关系。 我想保持用户添加爱好的顺序。这可以通过对中间模型id上的记录进行排序来完成

许多人建议使用through并添加一些字段进行排序。 但这在我使用相关模型的add函数创建记录时产生了问题

是否有任何方法可以向中介模型提供元排序,以便在我访问数据时它可以按id排序

我的模型是-

class User(AbstractBaseUser, PermissionsMixin):   
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    hobbies = models.ManyToManyField('UserHobby')

class UserHobby(models.Model):
    hobby = models.CharField(max_length=100)

如果您显式定义直通模型,则可以提供元排序。如果没有,您仍然可以使用QuerySet对象的
order\u by()
方法提供您想要的顺序,如下所示

user = Users.objects.get(id=1)

user.hobbies.all().order_by('id')