python - Numbered ManyToMany In Django -


i using django game server, , need group players. group can contain n players, each assigned player number (player1, player2, etc). how can store players , record player number?

one obvious option following:

class group(models.model):     player1 = models.foreignkey(player)     player2 = models.foreignkey(player)     player3 = models.foreignkey(player)     playern = models.foreignkey(player) 

however, makes difficult iterate through list of players. store them in structured list somehow cannot think of how this.

any thoughts appreciated.

you're looking way create arbitrary mappings between users , groups, many-to-many relationship. database schema perspective, you're looking junction table.

django gives way create these sorts of relationships using models.manytomanyfield. don't have use field if don't want to, it's straightforward enough create own junction table own model in manual fashion foreign keys out group , player classes. manytomanyfield lets specify junction table custom model class using through keyword argument.

it's through custom junction table can not store player in group , group player in, player number:

class player(models.model)     ...  class group(models.model)     ...     players = models.manytomanyfield(player, through=playergroupjunction)  class playergroupjunction(models.model)     player = models.foreignkey(player)     group = models.foreignkey(group)     number = models.integerfield() 

Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -