-1

だから私はこれらの2つのモデルを持っています:

class Player(models.Model):
    playerName = models.CharField(max_length= 50)
    playerTeam = models.CharField(max_length=20)

class Role(models.Model):
    roleName = models.CharField(max_length= 50)
    players = models.ManyToManyField(Player)

これで、さまざまなプレーヤーを 1 つのロールに格納するのが簡単になりました。私の目的は、1 つの役割の下で異なる「playerTeam」を取得することです。明確にするために、さまざまなチームの値を文字列形式で取得したいと考えています。したがって、2 つの Player オブジェクトが次のように格納されている場合:

p = Player(playerName='Zidane', playerTeam = 'Real Madrid') 
p1 = Player(playerName='Laudrup', playerTeam = 'Barcelona')

両方が 1 つの Role オブジェクトに追加されます。

r = Role(roleName='playmaker')
r.save()
r.add(p)
r.add(p1)
r.save()

「レアル マドリード」と「バルセロナ」を結果として返すクエリを書きたいと思います。

そのためのクエリを作成することは、困難であることがわかっています。私が得ることができる助けはありますか?

4

1 に答える 1

0

必要なものは次のとおりです。

r.players.values_list('playerTeam', flat=True)

チームを取得するロールはどこrにありますか。

異なるチームを取得したい場合は、結果をset().

于 2013-05-22T18:04:19.460 に答える