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