django-admin Как я могу пометить поле только для чтения на основе условия? - PullRequest
0 голосов
/ 03 мая 2018

У меня есть модель, в которую я хочу добавить 2 поля (1 поле булево, а другое - float). Я хочу активировать редактирование переменной с плавающей точкой, только если булево поле имеет значение true, в противном случае отображение поля с плавающей точкой отключено или доступно только для чтения.

Я пытался переопределить get_readonly_fields, но я не мог заставить его работать из-за того, что я не могу сделать изменения. вот мой теоретический код:

class MyModelAdmin(BaseModelAdmin):
    def get_readonly_fields(self, request, obj=None):
         readonly_fields = super(MyModelAdmin, self).get_readonly_fields(request, obj)
         if obj.my_field:
            return readonly_fields + ['other_field']
         return readonly_fields

Примечание. Моя модель относится к inlines другой модели, и отношение равно many2many, поэтому я хочу, чтобы при добавлении нескольких строк она менялась.

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