class QualificationResource(resources.ModelResource): sector = fields.Field(attribute='sector', column_name='sector', widget=ForeignKeyWidget(Sector, 'code')) class Meta: model = Qualification
class ProductResource(resources.ModelResource): category = fields.Field(column_name='category', attribute='category', widget=ForeignKeyWidget(Category, 'name')) class Meta: model = Product
class StatementResource(resources.ModelResource): unit = fields.Field(attribute='unit', column_name='unit', widget=ForeignKeyWidget(Unit, 'code')) class Meta: abstract = True
class ActivityResource(resources.ModelResource): organization = Field(column_name="organization", attribute="organization", widget=ForeignKeyWidget(Organization, "id")) class Meta: model = Activity
class LinkResource(resources.ModelResource): type = Field(attribute="type", widget=ForeignKeyWidget(model=LinkType, field="name")) class Meta: model = Link fields = ("id", "name", "icon", "url", "type", "order") export_order = fields
class HotelResource(resources.ModelResource): """ A resource from django-import-export used to import csv data directly to the :model: `hotels.Hotel` model. """ city = Field( column_name='city', attribute='city', widget=ForeignKeyWidget(City, 'abbrv'), ) def before_import(self, dataset, *args, **kwargs): """ Changes the headers of the given csv to match the fieldnames of the :model: `hotels.Hotel` model by renaming the first row and appending the original row to the end of the file. """ first_row = dataset.headers dataset.headers = ['city', 'loc', 'name'] dataset.append(first_row) class Meta: model = Hotel exclude = ('id', ) import_id_fields = ('city', 'loc', 'name')
class DrinkCategoryResource(resources.ModelResource): parent = fields.Field(column_name='parent', attribute='parent', widget=ForeignKeyWidget(DrinkCategory, field='name')) class Meta: model = DrinkCategory
class CustomPaymentResource(resources.ModelResource): user = fields.Field( column_name='user', attribute='user', widget=ForeignKeyWidget(User, 'email'), ) class Meta: model = CustomPayment fields = ( 'id', 'name', 'details', 'price', 'user', 'transaction_date', 'authorization_id', 'settlement_id', ) export_order = ( 'id', 'name', 'details', 'price', 'user', 'transaction_date', 'authorization_id', 'settlement_id', )
class UserResource(resources.ModelResource): class Meta: model = User company = fields.Field(column_name='company', attribute='company', widget=ForeignKeyWidget(Enterprise, 'pk'))
class BoletaProvisaoResource(resources.ModelResource): caixa_alvo = fields.Field( column_name='caixa_alvo', attribute='caixa_alvo', widget=ForeignKeyWidget(ativos.models.Caixa, 'nome') ) fundo = fields.Field( column_name='fundo', attribute='fundo', widget=ForeignKeyWidget(fundo.models.Fundo, 'nome') ) class Meta: model = models.BoletaProvisao fields = ('id', 'descricao', 'caixa_alvo', 'fundo', 'data_pagamento', 'financeiro', 'estado')
class DocumentationResource(resources.ModelResource): country = fields.Field(column_name='country', attribute='country', widget=ForeignKeyWidget(Country, 'country')) program = fields.Field(column_name='program', attribute='program', widget=ForeignKeyWidget(Program, 'name')) project = fields.Field(column_name='project', attribute='project', widget=ForeignKeyWidget(ProjectAgreement, 'project_name')) class Meta: model = Documentation widgets = { 'create_date': {'format': '%d/%m/%Y'}, 'edit_date': {'format': '%d/%m/%Y'}, 'expected_start_date': {'format': '%d/%m/%Y'}, }
class ServicioResource(resources.ModelResource): subsistema = fields.Field(column_name='subsistema', attribute='subsistema', widget=ForeignKeyWidget(Subsistema, 'nombre')) def for_delete(self, row, instance): return self.fields['subestado'].clean(row) class Meta: model = Servicio exclude = ( 'creado', 'actualizado', ) export_order = ( 'id', 'codigo_lpu', 'nombre', 'descripcion', 'distancia', 'peso', 'tiempo', 'subsistema', 'unidad', 'valor_lpu', 'descripcion_lpu', 'estado', 'subestado', )
class EventResource(resources.ModelResource): authorizer = fields.Field( column_name="authorizer", attribute="authorizer", widget=ForeignKeyWidget(Authorizer, "name"), ) tags = fields.Field( column_name="tags", attribute="tags", widget=ManyToManyWidget(Tag, field="name", separator="|"), ) class Meta: model = Event fields = ( "id", "published_on", "tags", "scope", "authorizer", "title", "authoritative_url", "media_type", ) export_order = ( "id", "published_on", "tags", "scope", "authorizer", "title", "authoritative_url", "media_type", ) skip_unchanged = True
class AutopsyResource(resources.ModelResource): status = fields.Field(column_name='status', attribute='status', widget=ForeignKeyWidget(AutopsyStatus, 'name')) class Meta: model = Autopsy exclude = ['id', 'is_active', 'updated', 'created']
class PeriodResource(resources.ModelResource): workplace = fields.Field( column_name='workplace', attribute='workplace', widget=ForeignKeyWidget(Workplace, 'name'), ) class Meta: model = Period fields = ( 'id', 'name', 'workplace', 'start_date', 'end_date', 'price', 'is_active', ) export_order = ( 'id', 'name', 'workplace', 'start_date', 'end_date', 'price', 'is_active', )
class SoldTicketsResource(resources.ModelResource): EvId = fields.Field(column_name="EvId", attribute="EvId", widget=ForeignKeyWidget(Event, "Name")) class Meta: model = SoldTickets
class ProjectResources(resources.ModelResource): employee = fields.Field(column_name='employee', attribute='employee', widget=ForeignKeyWidget(User, 'username')) project = fields.Field(column_name='project', attribute='project', widget=ForeignKeyWidget(ProjectName, 'project_name')) mouth = fields.Field(column_name='mouth', attribute='mouth', widget=ForeignKeyWidget(ProjectMonth, 'project_mouth')) class Meta: model = Project fields = ('employee', 'project', 'date', 'hours', 'activity')
class TransactionResource(resources.ModelResource): account = fields.Field(column_name='account', attribute='account', widget=ForeignKeyWidget(Account, 'name')) class Meta: model = Transaction fields = ['id','account','date','txn_type','amount']
class ProductResource(resources.ModelResource): category = fields.Field(column_name="category", attribute="category", widget=ForeignKeyWidget(ProductCategory, "name")) class Meta: model = Product
class UpdateReferenceResource(QueryModelResource): """ Resource for import/export of rpm_updatereference entities. """ update_record = fields.Field( column_name="update_record", attribute="update_record", widget=ForeignKeyWidget(UpdateRecord, field="digest"), ) def set_up_queryset(self): """ Set up a queryset for UpdateReferences. Returns: UpdateReferences belonging to UpdateRecords for a specified repo-version. """ return UpdateReference.objects.filter( update_record__in=UpdateRecord.objects.filter( pk__in=self.repo_version.content)).order_by("pulp_id") class Meta: model = UpdateReference import_id_fields = ( "href", "ref_type", "update_record", )
class LabProgressResource(resources.ModelResource): code = fields.Field(attribute='code', column_name='code', widget=ForeignKeyWidget(LabCode, 'code')) class Meta: model = LabProgress
class PartResource(resources.ModelResource): owner = fields.Field(column_name='owner', attribute='owner', widget=ForeignKeyWidget(User, 'username')) class Meta: model = Part
class UpdateCollectionResource(QueryModelResource): """ Resource for import/export of rpm_updatecollection entities. """ update_record = fields.Field( column_name="update_record", attribute="update_record", widget=ForeignKeyWidget(UpdateRecord, field="digest"), ) def set_up_queryset(self): """ Set up a queryset for UpdateCollections. Returns: UpdateCollections belonging to UpdateRecords for a specified repo-version. """ return UpdateCollection.objects.filter( update_record__in=UpdateRecord.objects.filter( pk__in=self.repo_version.content)).order_by("pulp_id") class Meta: model = UpdateCollection exclude = QueryModelResource.Meta.exclude + ("packages", ) import_id_fields = tuple( chain.from_iterable(UpdateCollection._meta.unique_together))
class CorpusSentenceResource(resources.ModelResource): corpus = fields.Field(column_name='corpus_name', attribute='corpus', widget=CorpusForeignKeyWidget(ms.Corpus, 'name')) language = fields.Field(column_name='language_name', attribute='language', widget=ForeignKeyWidget(ms.Language, 'name')) sent_id = fields.Field(attribute='sent_id', widget=widgets.CharWidget()) orthography = fields.Field(attribute='orthography', widget=widgets.CharWidget()) is_parallel = fields.Field(attribute='is_parallel', widget=widgets.BooleanWidget()) doc_id = fields.Field(attribute='doc_id', widget=widgets.CharWidget()) text = fields.Field(attribute='text', widget=widgets.CharWidget()) tokens = fields.Field(attribute='tokens', widget=widgets.CharWidget()) word_gloss = fields.Field(attribute='word_gloss', widget=widgets.CharWidget()) sent_gloss = fields.Field(attribute='sent_gloss', widget=widgets.CharWidget()) note = fields.Field(attribute='note', widget=widgets.CharWidget()) mwe_markup = fields.Field(attribute='mwe_markup', widget=widgets.CharWidget()) class Meta: model = ms.CorpusSentence import_id_fields = ('sent_id', 'corpus') fields = ('corpus', 'sent_id', 'language', 'orthography', 'is_parallel', 'doc_id', 'text', 'tokens', 'word_gloss', 'sent_gloss', 'note', 'mwe_markup')
class AsignacionAntenaResource(resources.ModelResource): parte = fields.Field(column_name='parte', attribute='parte', widget=ForeignKeyWidget(Parte, 'parte_nokia')) class Meta: model = AsignacionAntena exclude = ( 'estado', 'creado', 'actualizado', ) export_order = ( 'id', 'parte', 'cod_sap', 'capex', 'cantidad', 'cod_bodega', 'bodega', 'comentario_bodega', 'so', 'po', 'familia', 'caracteristicas', 'puertos', # 'estado', 'subestado', # 'creado', # 'actualizado', )
class SiteProfileResource(resources.ModelResource): type = fields.Field(column_name='type', attribute='type', widget=ForeignKeyWidget(ProfileType, 'name')) contact = fields.Field(column_name='contact', attribute='contact', widget=ManyToManyWidget(Contact, field='name')) country = fields.Field(column_name='country', attribute='country', widget=ForeignKeyWidget(Country, 'country')) filled_by = fields.Field(column_name='filled_by', attribute='filled_by', widget=ForeignKeyWidget(TolaUser, 'name')) class Meta: model = SiteProfile
class OfferResource(resources.ModelResource): offer_title = fields.Field(column_name='offer_title', attribute='offer_title') offer_valuta = fields.Field(column_name='offer_valuta', attribute='offer_valuta') offer_price = fields.Field(column_name='offer_price', attribute='offer_price') offer_value = fields.Field(column_name='offer_value', attribute='offer_value') offer_minorder = fields.Field(column_name='offer_minorder', attribute='offer_minorder') offer_minorder_value = fields.Field(column_name='offer_minorder_value', attribute='offer_minorder_value') offer_pre_text = fields.Field(column_name='offer_pre_text', attribute='offer_pre_text') offer_availability = fields.Field(column_name='offer_availability', attribute='offer_availability', widget=ForeignKeyWidget( Availability, 'availability_title')) offer_publish = fields.Field(column_name='offer_publish', attribute='offer_publish', widget=ForeignKeyWidget( Publish, 'publish_title')) offer_url = fields.Field(column_name='offer_url', attribute='offer_url') offer_image_url = fields.Field(column_name='offer_image_url', attribute='offer_image_url') # Настройка полей для экспорта и импорта. Поле связаное по ключу. offer_tag = fields.Field(column_name='offer_tag', attribute='offer_tag', widget=ForeignKeyWidget(Tags, 'tag_title')) # Настройка полей для экспорта и импорта. Поле связаное по многое-ко-многому. Ниже продолжение настроек. offer_subtags = fields.Field(widget=ManyToManyWidget(Subtags, 'tag_title')) class Meta: model = Offers exclude = ["id"] fields = ('offer_title', 'offer_price', 'offer_valuta', 'offer_minorder', 'offer_minorder_value', 'offer_pre_text', 'offer_text', 'offer_publish', 'offer_availability', 'offer_image_url', 'offer_url', 'offer_tag', 'offer_subtags') # Настройка полей для экспорта и импорта. Поле связаное по многое-ко-многому. Выводим все значение. Функция описана в док. к батарейке def dehydrate_offer_subtags(self, offers): colls = [coll.tag_title for coll in offers.offer_subtags.all()] collectors = ', '.join(colls) return '%s' % collectors
class AnimalHelmholtzResource( resources.ModelResource ): # für den Import. Hier werden die Felder festgelegt, die importiert werden können animal_type = 'mouse' responsible_person = fields.Field(column_name='Responsible', attribute='responsible_person', widget=ForeignKeyWidget(Person, 'name')) lab_id = fields.Field(attribute='lab_id', column_name='ear') database_id = fields.Field(attribute='database_id', column_name='mouse_id') day_of_birth = fields.Field(attribute='day_of_birth', column_name='born') genetic_background = fields.Field(attribute='genotype', column_name='genotype') line = fields.Field(attribute='line', column_name='line') sex = fields.Field(attribute='sex', column_name='sex') location = fields.Field(column_name='room/rack', attribute='location', widget=ForeignKeyWidget(Location, 'name')) licence_number = '' amount = 1 comment = fields.Field(attribute='comment', column_name='Comment') class Meta: model = Animal fields = ('lab_id', 'animal_type', 'amount', 'database_id', 'day_of_birth', 'line', 'sex', 'location', 'licence_number', 'comment', 'genetic_background') def get_instance(self, instance_loader, row): try: params = {} for key in instance_loader.resource.get_import_id_fields(): field = instance_loader.resource.fields[key] params[field.attribute] = field.clean(row) return self.get_queryset().get(**params) except Exception: return None def before_import_row(self, row, **kwargs): row['available_from'] = datetime.today() def before_import(self, dataset, dry_run, *args, **kwargs): for data in dataset.dict: data['available_from'] = datetime.today() data['available_to'] = datetime.today() + timedelta(days=14) return super(AnimalHelmholtzResource, self).before_import(dataset, dry_run, *args, **kwargs)
class FindingResource(resources.ModelResource): """ Import and export :model:`reporting.Finding`. """ severity = Field( attribute="severity", column_name="severity", widget=ForeignKeyWidget(Severity, "severity"), ) finding_type = Field( attribute="finding_type", column_name="finding_type", widget=ForeignKeyWidget(FindingType, "finding_type"), ) class Meta: model = Finding skip_unchanged = True fields = ( "id", "severity", "finding_type", "title", "description", "impact", "mitigation", "replication_steps", "host_detection_techniques", "network_detection_techniques", "references", "finding_guidance", ) export_order = ( "id", "severity", "finding_type", "title", "description", "impact", "mitigation", "replication_steps", "host_detection_techniques", "network_detection_techniques", "references", "finding_guidance", )
class UserResource(resources.ModelResource): academic_field = fields.Field( column_name='academic_field', attribute='academic_field', widget=ForeignKeyWidget(AcademicField, 'name'), ) academic_level = fields.Field( column_name='academic_level', attribute='academic_level', widget=ForeignKeyWidget(AcademicLevel, 'name'), ) university = fields.Field( column_name='university', attribute='university', widget=ForeignKeyWidget(Organization, 'name'), ) membership = fields.Field( column_name='membership', attribute='membership', widget=ForeignKeyWidget(Membership, 'name'), ) class Meta: model = User exclude = ('password', 'username', 'groups', 'user_permissions') export_order = ( 'id', 'first_name', 'last_name', 'email', 'phone', 'other_phone', 'birthdate', 'gender', 'university', 'academic_field', 'academic_level', 'membership', 'membership_end', 'tickets', 'date_joined', 'last_login', )