实例化对象时如何传递**kwargs并在类的_init__()方法中访问它

2024-09-28 19:20:02 发布

您现在位置:Python中文网/ 问答频道 /正文

在这里,我想在实例化PlayPerform对象时传递一个**kwargs字典,并在调用__init__()方法时能够访问它。这是我在下面所做的,但它不起作用

这在my views.py文件中的某个位置:

context = {'player_form': PlayerForm(kwargs={'user': request.user})}

这在我的forms.py文件中

from .models import Game, Player

class PlayerForm(forms.ModelForm):

class Meta:
    model = Player
    fields = ['game', 'username']

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)

    if kwargs.get('user'):
        self.fields['game'].queryset = Game.objects.exclude(player__user=user)

Tags: 文件pyselfgamefieldsinitargsforms