28 Stimmen

Django ManyToManyField Bestellung mit durch

Hier ist ein Ausschnitt aus dem Aufbau meiner Modelle:

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',)

Wenn ich dann auf die Konten zugreife, wie kann ich im zwischengeschalteten ProfileAccounts-Modell nach der "Nummer" sortieren, anstatt nach dem standardmäßigen "Namen" im Kontenmodell?

for acct_number in self.profile.accounts.all():
    pass

Das funktioniert zwar nicht, ist aber der Kern dessen, wie ich auf diese Daten zugreifen möchte:

for scanline_field in self.scanline_profile.fields.all().order_by('number'):
    pass

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X