djangoの使用を開始しましたが、ユーザー情報に基づいてデータをフィルタリングする際に問題が発生しました。私のアプリの仕組みを説明しましょう。私のアプリのユーザーは会社に属しています。だから私は会社情報をキャプチャするために会社と呼ばれるテーブルを作成しました。次に私はUserCompanyという別のテーブルを作成しました。基本的には、DjangoユーザーのIDと私の会社のテーブルのIdを格納します。今、私は、ユーザが会社のIDに基づいてDjango Adminで見るデータをフィルタリングしたいと思います。企業IDに基づいてデータのみを表示できます。 admin.pyでget_queryset
を使ってこのユーザーを把握することができました。私の唯一の問題は、外部キーの結果としてadminに表示されるドロップダウンリストがフィルタリングされていないことです。私はいくつかの研究を行い、limit_choices_toについて知った。これを静的に設定することができます。Django admin - ドロップダウンでの選択を制限する
class Cleaner(models.Model):
company = models.ForeignKey('Company',limit_choices_to = {'companyname' = 'Test'}
管理セクションのドロップダウンリストには、会社のテストのみが表示されます。どのようにこれを動的に行うことができますか?私はモデルでやっていますか、それともadmin.pyでやっていますか?助けてください!!
ありがとうございます。これは役に立ちました。 –