djangoモデルで選択肢フィールドの値を除外する方法は?

afi

フォームログインユーザーのユーザーグループに応じて、ログインユーザーが特定のグループに属していない場合、一部のstory_status値を削除する必要があります。選択肢フィールド値footage readyからstory_status私のコードは値を除外していません

models.py

class Article(models.Model):
    STORY_STATUS = {
        ('story not done', 'story not done'),
        ('story finish', 'story finish'),
        ('Copy Editor Done', 'Copy Editor Done'),
        ('footage ready', 'footage ready')
    }

    title = models.CharField(max_length=255, help_text="Short title")
    story_status = models.CharField(choices=STORY_STATUS)

output.html

class ArticleForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user', None)
        super(ArticleForm, self).__init__(*args, **kwargs)
        if not self.user.groups.filter(name__iexact='producer').exists():
            self.queryset = Article.objects.exclude(story_status='footage ready')

    class Meta:
        model = Article
        fields = [
            'title',
            'story_status'
        ]
Pruthvi Barot

次のようなinitメソッドを使用して選択肢を上書きしてみてください

STORY_STATUS = [
    ('story not done', 'story not done'),
    ('story finish', 'story finish'),
    ('Copy Editor Done', 'Copy Editor Done'),
    ('footage ready', 'footage ready')
]

story_status_config = {
    'producer': ['footage ready'],
    'other_group': ['story finish']
}

def __init__(self, *args, **kwargs):
    self.user = kwargs.pop('user', None)
    super(ArticleForm, self).__init__(*args, **kwargs)
    for group,exclude_vals in story_status_config:
        if not self.user.groups.filter(name__iexact=group).exists():
            self.fields['story_status'].choices = [x for x in STORY_STATUS if x[0] not in exclude_vals]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Djangoモデルフォームのすべてのフィールドには、「有効な選択肢を選択してください。その選択肢は利用可能な選択肢の1つではありません」と表示されます。

分類Dev

Djangoモデルは、特定のフィールド値を持つ別のモデルに基づいて選択肢を制限します

分類Dev

Django:モデルフィールドから選択肢を取得するためのクエリセット

分類Dev

特定の選択肢が選択されたときにDjangoモデルフィールドの値を変更するにはどうすればよいですか?

分類Dev

選択肢フィールドの文字列値を出力する方法

分類Dev

Djangoの選択肢フォームフィールドのデフォルト値をNoneに設定する方法

分類Dev

Django - モデルの選択肢が表示された場合、Choice タプルから値を取得する方法は?

分類Dev

djangoモデルで整数の選択肢を指定する意味は何ですか?

分類Dev

djangoモデルで整数の選択肢を指定する意味は何ですか?

分類Dev

Djangoモデルの選択フィールドをReactjsの選択オプションに接続するための最良の方法は何ですか

分類Dev

別のモデルを使用してdjangoモデルに選択フィールドを作成する方法

分類Dev

ハンドルバーでデフォルトの選択肢を与える方法

分類Dev

単一フィールドを選択するdjangoモデル

分類Dev

Djangoモデルは、フィールドに選択肢がある場合にまれな文字列を保存します

分類Dev

django ModelFormでユーザーベースのフォームフィールドの選択肢を設定する方法(django-allauthを使用)

分類Dev

Django-フォームの選択フィールドの選択肢を制限する

分類Dev

DjangoフォームChoiceFieldで選択肢のラベルを取得する方法

分類Dev

Django2のautocomplete_fieldsで選択肢をフィルタリングする方法は?

分類Dev

Djangoモデルのフィールド選択をJSONに変換する

分類Dev

Djangoモデルの選択肢としてすべてのタイムゾーンを使用するための最良の方法は何ですか?

分類Dev

反応で選択フィールドの値を取得する方法は?

分類Dev

Django-同じ辞書内のモデルの選択フィールドの数を取得する方法

分類Dev

djangoの質問に複数のフォームフィールドタイプの選択肢を追加するにはどうすればよいですか?

分類Dev

views.pyでdjangoモデルフィールドを動的に選択する方法

分類Dev

Angularの現在のロケールでモデルからフィールドを選択する方法

分類Dev

列挙型をdjangoモデルの選択フィールドとして使用する方法

分類Dev

何千ものデータベースクエリを作成する何千もの選択肢を持つDjango選択フィールド

分類Dev

選択肢のあるテキストフィールドでdjango管理アクションを実行するにはどうすればよいですか?

分類Dev

djangoビューでモデルの選択フィールドを変更する

Related 関連記事

  1. 1

    Djangoモデルフォームのすべてのフィールドには、「有効な選択肢を選択してください。その選択肢は利用可能な選択肢の1つではありません」と表示されます。

  2. 2

    Djangoモデルは、特定のフィールド値を持つ別のモデルに基づいて選択肢を制限します

  3. 3

    Django:モデルフィールドから選択肢を取得するためのクエリセット

  4. 4

    特定の選択肢が選択されたときにDjangoモデルフィールドの値を変更するにはどうすればよいですか?

  5. 5

    選択肢フィールドの文字列値を出力する方法

  6. 6

    Djangoの選択肢フォームフィールドのデフォルト値をNoneに設定する方法

  7. 7

    Django - モデルの選択肢が表示された場合、Choice タプルから値を取得する方法は?

  8. 8

    djangoモデルで整数の選択肢を指定する意味は何ですか?

  9. 9

    djangoモデルで整数の選択肢を指定する意味は何ですか?

  10. 10

    Djangoモデルの選択フィールドをReactjsの選択オプションに接続するための最良の方法は何ですか

  11. 11

    別のモデルを使用してdjangoモデルに選択フィールドを作成する方法

  12. 12

    ハンドルバーでデフォルトの選択肢を与える方法

  13. 13

    単一フィールドを選択するdjangoモデル

  14. 14

    Djangoモデルは、フィールドに選択肢がある場合にまれな文字列を保存します

  15. 15

    django ModelFormでユーザーベースのフォームフィールドの選択肢を設定する方法(django-allauthを使用)

  16. 16

    Django-フォームの選択フィールドの選択肢を制限する

  17. 17

    DjangoフォームChoiceFieldで選択肢のラベルを取得する方法

  18. 18

    Django2のautocomplete_fieldsで選択肢をフィルタリングする方法は?

  19. 19

    Djangoモデルのフィールド選択をJSONに変換する

  20. 20

    Djangoモデルの選択肢としてすべてのタイムゾーンを使用するための最良の方法は何ですか?

  21. 21

    反応で選択フィールドの値を取得する方法は?

  22. 22

    Django-同じ辞書内のモデルの選択フィールドの数を取得する方法

  23. 23

    djangoの質問に複数のフォームフィールドタイプの選択肢を追加するにはどうすればよいですか?

  24. 24

    views.pyでdjangoモデルフィールドを動的に選択する方法

  25. 25

    Angularの現在のロケールでモデルからフィールドを選択する方法

  26. 26

    列挙型をdjangoモデルの選択フィールドとして使用する方法

  27. 27

    何千ものデータベースクエリを作成する何千もの選択肢を持つDjango選択フィールド

  28. 28

    選択肢のあるテキストフィールドでdjango管理アクションを実行するにはどうすればよいですか?

  29. 29

    djangoビューでモデルの選択フィールドを変更する

ホットタグ

アーカイブ