Yes, that is one of the threads in the forum covering this general topic.
Also see How to pass iterable list of filtered users in Django template using form? and Populate choice field from model with conditional query Django
Additionally, there’s another factor in play here.
You have your code at the class level and not within a function. Class-level code is executed once, when the class is loaded. It is not executed every time an instance of that class is created. All procedural code that you want to execute at the “instance” layer needs to be in a function.
Finally, instead of:
I would suggest:
player_choices = ('', '') + Player.objects.all().order_by('name').values_list('name', 'name')
Additionally, be aware of the section in the docs about the “default” entry in the Choices docs.