Скрыть поле только для чтения в форме, если его значение равно None - PullRequest
1 голос
/ 24 февраля 2020

У меня типичная django форма модели, и я хочу скрыть одно поле только для чтения, если его значение равно None, и показать, имеет ли оно какое-либо значение. Также это поле объявлено в классе Admin, а не в форме.

class DjangoAdmin(admin.ModelAdmin):
   from = DjangoForm
   readonly_fields = ("my_field",)

   fieldsets = (
      ("Title", {
      "fields": ("my_field",)
      }
    )
   )
   def get_my_field():
      value = None
      if ...:
         value = 1
      return value

1 Ответ

1 голос
/ 24 февраля 2020

Вы можете применить фильтр в get_queryset, как показано ниже ...

class DjangoAdmin(admin.ModelAdmin):
    --- your code and logic ---
    def get_queryset(self, request):
        return super().get_queryset(request).exclude(my_field=None)

Теперь вы получите только те данные, в которых значение my_field не равно None. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...