Требуется ли параметр editable=False?
Я разрабатываю модель, единственными действиями, которые можно выполнить над ее экземпляром, являются просмотр и удаление.
Более того, все эти действия должны происходить в StackedInline, который привязан к классу ModelAdmin другой модели.
Пример модели:
class IncludingModel(models.Model):
    ...
class ReadAndDeleteOnlyModel(models.Model):
    field1 = models.TextField(verbose_name="First field", editable=False)
    field2 = models.TextField(verbose_name="Second field", editable=False)
    including_model_instance = models.ForeignKey(IncludingModel, related_name="read_and_delete_only_instances")
Пример администратора
class ReadAndDeleteOnlyModelInline(admin.StackedInline):
    model = ReadAndDeleteOnlyModel
    readonly_fields = ("field1", "field2")
    def has_add_permission(self, request, obj):
        return False
@admin.register(IncludingModel)
class IncludingModelAdmin(admin.ModelAdmin)
    inlines = (ReadAndDeleteOnlyModelInline,)
Взаимодействие с экземплярами ReadAndDeleteOnlyModel происходит только в IncludingModelAdmin. После удаления editable = False мои поля по-прежнему доступны только для чтения, поскольку я указал их в readonly_fields. В связи с этим возникает вопрос, нужен ли editable = False в моем случае?
По умолчанию параметр editable имеет значение True. Если вы измените его на False, поле не будет отображаться в админке или любой другой ModelForm. Они также будут пропущены при проверке модели.