【问题标题】:many to many ordered records django多对多有序记录 d​​jango
【发布时间】:2015-12-15 07:51:07
【问题描述】:

我正在使用 user.companies.all() 获取所有相关记录。

但是这个查询给了我来自 userProfile_companies 表的随机记录。我需要在桥接表中添加记录的顺序。 模型.py

class UserProfile(models.Model):
    companies = models.ManyToManyField('Company', blank=True, null=True)

company_manager.py

for company in user.companies.all():
    companiesToBeIncluded.append(company.id)

在这里,我得到的公司 ID 顺序不正确。 谢谢

【问题讨论】:

  • 我保证你不会得到“随机记录”。请展示数据库中的排序示例,查询和显示记录的操作以及您看到的内容。
  • 是的,实际上不是随机的,但是当我触发 'SELECT * FROM "myapp_userprofile_companies" order by id desc;'在分贝上。查看我的编辑。
  • 我在想,你为什么不在查询中使用order_by('id')
  • 由于它在桥接表上执行,我认为这可能行不通。我现在试过了,仍然是错误的顺序。

标签: django many-to-many


【解决方案1】:

访问直通表是这里的解决方案。 here's the post.

UserProfile.companies.through.objects.filter(userprofile_id = 34).order_by('id')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2021-08-21
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多