万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    DjangoのAdminでの外部キーをフィルター

    https://stackoverflow.com/questions/18304932/django-inline-model-admin-filter-foreign-field

    このようformに対してカスタムしたフォームを設定

    class HogeAdmin(admin.ModelAdmin):
    
        """ HogeのAdmin """
    
        form = HogeAdminInlineForm

    そのクラスを作る

    class HogeAdminInlineForm(forms.ModelForm):
        """ フィルターフォーム """
        def __init__(self, *args, **kwargs):
            super(HogeAdminInlineForm, self).__init__(*args, **kwargs)
            # リクエストはこうやって取得する
            self.request = kwargs.pop("request")
            try:        
                self.fields['column_name'].queryset = Bar.objects.filter(user=self.request.user)
            except:
                self.fields['column_name'].queryset = Bar.objects

    requestはkwargs.pop("request")こうやって取得した。 http://stackoverflow.com/questions/8841502/how-to-use-the-request-in-a-modelform-in-django