【发布时间】:2010-10-08 20:07:37
【问题描述】:
以下是我的模型设置的简要说明:
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',)
那么当我访问 Accounts 时,如何在中间 ProfileAccounts 模型中按“数字”而不是 Accounts 模型中的默认“名称”排序?:
for acct_number in self.profile.accounts.all():
pass
这不起作用,但这是我希望它如何访问这些数据的要点:
for scanline_field in self.scanline_profile.fields.all().order_by('number'):
pass
【问题讨论】:
标签: python django many-to-many