相关疑难解决方法(0)

Django ManyToManyField使用直通订购

以下是我的模型设置的片段:

class Profile(models.Model):     
    name = models.CharField(max_length=32)

    accout = models.ManyToManyField(
        'project.Account',
        through='project.ProfileAccount'
    )

    def __unicode__(self)
        return self.name

class Accounts(models.Model):
    name = models.CharField(max_length=32)
    type = models.CharField(max_length=32)

    class Meta:
        ordering = ('name',)

    def __unicode__(self)
        return self.name

class ProfileAccounts(models.Model):
    profile = models.ForeignKey('project.Profile')
    account = models.ForeignKey('project.Accounts')

    number = models.PositiveIntegerField()

    class Meta:
        ordering = ('number',)
Run Code Online (Sandbox Code Playgroud)

然后,当我访问帐户时,如何在中间ProfileAccounts模型中按"数字"排序,而不是在帐户模型中使用默认的"名称"?

for acct_number in self.profile.accounts.all():
    pass
Run Code Online (Sandbox Code Playgroud)

这不起作用,但是我希望它如何访问这些数据的要点:

for scanline_field in self.scanline_profile.fields.all().order_by('number'):
    pass
Run Code Online (Sandbox Code Playgroud)

python django many-to-many

22
推荐指数
4
解决办法
2万
查看次数

标签 统计

django ×1

many-to-many ×1

python ×1