Django: запретите can_delete на GenericStackedInline

Мне нравится подход LINQ.

, Если Вы хотите ограничить его все прописные буквы (т.е. никакие пробелы и т.д.):

return input.All(c => char.IsUpper(c));

или использование преобразования группы метода:

return input.All(char.IsUpper);

, Если Вы хотите просто запретить строчные буквы:

return !input.Any(c => char.IsLower(c));

или

return !input.Any(char.IsLower);
21
задан user176455 24 September 2009 в 10:21
поделиться

1 ответ

Обновление 2016: согласно приведенному ниже ответу Стэна современные версии django позволяют установить can_delete = True в подклассе GenericStackedInline , поскольку он наследуется от InlineModelAdmin


Я уже сталкивался с этим раньше - по какой-то причине передача can_delete в качестве аргумента не работает, но установка его в методе init набора форм работает. Попробуйте следующее:

class MyInlineFormset(generic.generic_inlineformset_factory(MyModel)):
    def __init__(self, *args, **kwargs):
        super(MyInlineFormset, self).__init__(*args, **kwargs)
        self.can_delete = False

затем во встроенном классе администратора:

class MyModelStackedInline(generic.GenericStackedInline):
    model = MyModel
    formset = MyInlineFormset
    extra = 0
13
ответ дан 29 November 2019 в 20:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: