1
>>> a = group.objects.order_by('groupname')
>>> print a
[<group: beginner 593785332>, <group: beginner 903647323>, <group: blbrz 229225098>]

同様のオブジェクトを持ちたくありません。オブジェクトごとgoupnameに個別にしたい:groupname

[<group: beginner 593785332>,  <group: blbrz 229225098>]

私に何ができる?

from django.db import models
class accounts(models.Model):
    twitterid = models.IntegerField()
    credit    = models.IntegerField()
    activate  = models.TextField()
    ban       = models.TextField(blank=True)
    others    = models.TextField()
    def __unicode__(self):
        return u'%s' % (self.twitterid)
    class Meta:
        ordering = ['twitterid']

class group(models.Model):
    groupname        =  models.TextField()
    accounts=models.ForeignKey(accounts)
    def __unicode__(self):
        return u'%s %s' % (self.groupname, self.accounts)
4

1 に答える 1

2

データベースのバックエンドが PostgreSQL の場合、クエリセットを使用して実行できます。

a = group.objects.order_by('groupname').distinct('groupname')

残念ながら、SQLite を使用しているため、できれば python で実行することをお勧めします。

a = group.objects.order_by('groupname')
groupnames = set()
b = []
for item in a:
  if a.groupname not in groupnames:
    b.append(a)
    groupnames.add(a.groupname)
a = b
于 2013-10-09T21:47:04.410 に答える