Region Condition
Region Condition Actions
- class integreat_cms.cms.views.region_condition.region_condition_actions.RegionConditionResource(**kwargs)[source]
Bases:
ModelResource
A resources class that connects to the django-import-export library. It represents the to-be exported status of all regions.
- WIDGETS_MAP = {'AutoField': <class 'import_export.widgets.IntegerWidget'>, 'BigAutoField': <class 'import_export.widgets.IntegerWidget'>, 'BigIntegerField': <class 'import_export.widgets.IntegerWidget'>, 'BooleanField': <class 'import_export.widgets.BooleanWidget'>, 'CharField': <class 'import_export.widgets.CharWidget'>, 'DateField': <class 'import_export.widgets.DateWidget'>, 'DateTimeField': <class 'import_export.widgets.DateTimeWidget'>, 'DecimalField': <class 'import_export.widgets.DecimalWidget'>, 'DurationField': <class 'import_export.widgets.DurationWidget'>, 'FloatField': <class 'import_export.widgets.FloatWidget'>, 'ForeignKey': 'get_fk_widget', 'IntegerField': <class 'import_export.widgets.IntegerWidget'>, 'JSONField': <class 'import_export.widgets.JSONWidget'>, 'ManyToManyField': 'get_m2m_widget', 'NullBooleanField': <class 'import_export.widgets.BooleanWidget'>, 'OneToOneField': 'get_fk_widget', 'PositiveIntegerField': <class 'import_export.widgets.IntegerWidget'>, 'PositiveSmallIntegerField': <class 'import_export.widgets.IntegerWidget'>, 'SmallAutoField': <class 'import_export.widgets.IntegerWidget'>, 'SmallIntegerField': <class 'import_export.widgets.IntegerWidget'>, 'TimeField': <class 'import_export.widgets.TimeWidget'>}[source]
- __init__(**kwargs)[source]
- kwargs:
An optional dict of kwargs. Subclasses can use kwargs to pass dynamic values to enhance import / exports.
- after_delete_instance(instance, dry_run)[source]
Override to add additional logic. Does nothing by default.
- after_export(queryset, data, *args, **kwargs)[source]
Override to add additional logic. Does nothing by default.
- after_import(dataset, result, using_transactions, dry_run, **kwargs)[source]
Reset the SQL sequences after new objects are imported
- after_import_instance(instance, new, row_number=None, **kwargs)[source]
Override to add additional logic. Does nothing by default.
- after_import_row(row, row_result, row_number=None, **kwargs)[source]
Override to add additional logic. Does nothing by default.
- Parameters:
row – A
dict
of the import row.row_result – A
RowResult
instance. References the persistedinstance
as an attribute.row_number – The row number from the dataset.
- after_save_instance(instance, using_transactions, dry_run)[source]
Override to add additional logic. Does nothing by default.
- before_delete_instance(instance, dry_run)[source]
Override to add additional logic. Does nothing by default.
- before_export(queryset, *args, **kwargs)[source]
Override to add additional logic. Does nothing by default.
- before_import(dataset, using_transactions, dry_run, **kwargs)[source]
Override to add additional logic. Does nothing by default.
- before_import_row(row, row_number=None, **kwargs)[source]
Override to add additional logic. Does nothing by default.
- before_save_instance(instance, using_transactions, dry_run)[source]
Override to add additional logic. Does nothing by default.
- bulk_create(using_transactions, dry_run, raise_errors, batch_size=None, result=None)[source]
Creates objects by calling
bulk_create
.
- bulk_delete(using_transactions, dry_run, raise_errors, result=None)[source]
Deletes objects by filtering on a list of instances to be deleted, then calling
delete()
on the entire queryset.
- bulk_update(using_transactions, dry_run, raise_errors, batch_size=None, result=None)[source]
Updates objects by calling
bulk_update
.
- delete_instance(instance, using_transactions=True, dry_run=False)[source]
Calls
instance.delete()
as long asdry_run
is not set. Ifuse_bulk
then instances are appended to a list for bulk import.
- classmethod field_from_django_field(field_name, django_field, readonly)[source]
Returns a Resource Field instance for the given Django model field.
- fields = {'has_translation_package_been_booked': <import_export.fields.Field: Has translation package been booked?>, 'name': <import_export.fields.Field: Region>, 'num_broken_links': <import_export.fields.Field: Number of broken links>, 'num_languages_besides_root_language': <import_export.fields.Field: Number of languages besides root language>, 'num_low_hix_pages': <import_export.fields.Field: Number of low hix pages>, 'num_outdated_pages': <import_export.fields.Field: Number of outdated pages>, 'num_pages': <import_export.fields.Field: Number of pages>, 'num_pages_with_missing_or_outdated_translation': <import_export.fields.Field: Number of pages with at least one missing or outdated translation>}[source]
- for_delete(row, instance)[source]
Returns
True
ifrow
importing should delete instance.Default implementation returns
False
. Override this method to handle deletion.
- get_bulk_update_fields()[source]
Returns the fields to be included in calls to bulk_update().
import_id_fields
are removed because id fields cannot be supplied to bulk_update().
- classmethod get_diff_class()[source]
Returns the class used to display the diff for an imported instance.
- classmethod get_error_result_class()[source]
Returns the class used to store an error resulting from an import.
- get_instance(*args: Any, **kwargs: Any) Any [source]
See
import_export.resources.Resource.get_instance()
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- get_or_init_instance(instance_loader, row)[source]
Either fetches an already existing instance or initializes a new one.
- get_queryset()[source]
Returns a queryset of all objects for this model. Override this if you want to limit the returned queryset.
- classmethod get_row_result_class()[source]
Returns the class used to store the result of a row import.
- import_data(*args: Any, **kwargs: Any) Any [source]
See
import_export.resources.Resource.import_data()
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- import_data_inner(dataset, dry_run, raise_errors, using_transactions, collect_failed_rows, rollback_on_validation_errors=None, **kwargs)[source]
- import_field(field, obj, data, is_m2m=False, **kwargs)[source]
Calls
import_export.fields.Field.save()
ifField.attribute
is specified, andField.column_name
is found indata
.
- import_obj(obj, data, dry_run, **kwargs)[source]
Traverses every field in this Resource and calls
import_field()
. Ifimport_field()
results in aValueError
being raised for one of more fields, those errors are captured and reraised as a single, multi-field ValidationError.
- import_row(*args: Any, **kwargs: Any) Any [source]
See
import_export.resources.Resource.import_row()
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- save_instance(*args: Any, **kwargs: Any) Any [source]
See
import_export.resources.Resource.save_instance()
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- save_m2m(obj, data, using_transactions, dry_run)[source]
Saves m2m fields.
Model instance need to have a primary key value before a many-to-many relationship can be used.
- skip_row(instance, original, row, import_validation_errors=None)[source]
Returns
True
ifrow
importing should be skipped.Default implementation returns
False
unless skip_unchanged == True and skip_diff == False.If skip_diff is True, then no comparisons can be made because
original
will be None.When left unspecified, skip_diff and skip_unchanged both default to
False
, and rows are never skipped.By default, rows are not skipped if validation errors have been detected during import. You can change this behavior and choose to ignore validation errors by overriding this method.
Override this method to handle skipping rows meeting certain conditions.
Use
super
if you want to preserve default handling while overridingclass YourResource(ModelResource): def skip_row(self, instance, original, row, import_validation_errors=None): # Add code here return super().skip_row(instance, original, row, import_validation_errors=import_validation_errors)
- validate_instance(instance, import_validation_errors=None, validate_unique=True)[source]
Takes any validation errors that were raised by
import_obj()
, and combines them with validation errors raised by the instance’sfull_clean()
method. The combined errors are then re-raised as single, multi-field ValidationError.If the
clean_model_instances
option is False, the instances’sfull_clean()
method is not called, and only the errors raised byimport_obj()
are re-raised.
- classmethod widget_from_django_field(f, default=<class 'import_export.widgets.Widget'>)[source]
Returns the widget that would likely be associated with each Django type.
Includes mapping of Postgres Array field. In the case that psycopg2 is not installed, we consume the error and process the field regardless.
- integreat_cms.cms.views.region_condition.region_condition_actions.export_region_conditions(request: HttpRequest, file_format: str) HttpResponse [source]
Creates a data export summarizing the condition of all regions
- Parameters:
request (HttpRequest) – The current request
file_format (str) – The file format to export
- Returns:
A response containing the export data
- Return type:
HttpResponse
Region Condition View
- class integreat_cms.cms.views.region_condition.region_condition_view.RegionConditionView(**kwargs)[source]
Bases:
TemplateView
View to analyze the condition of all regions
- __init__(**kwargs)[source]
Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
- get_template_names()[source]
Return a list of template names to be used for the request. Must return a list. May not be called if render_to_response() is overridden.
- render_to_response(context, **response_kwargs)[source]
Return a response, using the response_class for this view, with a template rendered with the given context.
Pass response_kwargs to the constructor of the response class.
- response_class[source]
alias of
TemplateResponse
- template_name = 'region_condition/region_condition.html'[source]
The template to render (see
TemplateResponseMixin
)