class IndicatorResource(resources.ModelResource): # country = fields.Field(column_name='country', attribute='country', widget=ManyToManyWidget(Program, field='country')) indicator_type = fields.Field(column_name='indicator types', attribute='indicator_types') objectives = fields.Field(column_name='objectives', attribute='objectives_list') strategic_objectives = fields.Field(column_name='strategic objectives', attribute='strategicobjectives_list') workflowlevel1 = fields.Field(column_name='workflowlevel1', attribute='workflowlevel1') sector = fields.Field(column_name='sector', attribute='sector', widget=ForeignKeyWidget(Sector, 'sector')) reporting_frequency = fields.Field(column_name='reporting_frequency', attribute='reporting_frequency', widget=ForeignKeyWidget( Frequency, 'frequency')) level = fields.Field(column_name='levels', attribute='levels') disaggregation = fields.Field(column_name='disaggregation', attribute='disaggregations') approval_submitted_by = fields.Field(column_name='approval submitted by', attribute='approval_submitted_by', widget=ForeignKeyWidget( TolaUser, 'name')) approved_by = fields.Field(column_name='approved by', attribute='approved_by', widget=ForeignKeyWidget(TolaUser, 'name')) class Meta: model = Indicator exclude = ('create_date', 'edit_date', 'owner', 'id', 'strategic_objective', 'objective')
class DocumentationResource(resources.ModelResource): country = fields.Field(column_name='country', attribute='country', widget=ForeignKeyWidget(Country, 'country')) workflowlevel1 = fields.Field(column_name='workflowlevel1', attribute='workflowlevel1', widget=ForeignKeyWidget( WorkflowLevel1, 'name')) workflowlevel2 = fields.Field(column_name='workflowlevel2', attribute='workflowlevel2', widget=ForeignKeyWidget( WorkflowLevel2, '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 StaticServerResource(resources.ModelResource): """ Import and export for :model:`shepherd.StaticServer`. """ server_status = Field( attribute="server_status", column_name="server_status", widget=ForeignKeyWidget(ServerStatus, "server_status"), ) server_provider = Field( attribute="server_provider", column_name="server_provider", widget=ForeignKeyWidget(ServerProvider, "server_provider"), ) class Meta: model = StaticServer skip_unchanged = True exclude = ("last_used_by", ) export_order = ( "id", "ip_address", "name", "server_status", "server_provider", )
class OrderResource(resources.ModelResource): user = fields.Field( column_name='user', attribute='user', widget=ForeignKeyWidget(User, 'email'), ) coupon = fields.Field( column_name='coupon', attribute='coupon', widget=ForeignKeyWidget(Coupon, 'code'), ) class Meta: model = Order fields = ( 'id', 'user', 'transaction_date', 'authorization_id', 'settlement_id', 'coupon', ) export_order = ( 'id', 'user', 'transaction_date', 'authorization_id', 'settlement_id', 'coupon', )
class DepartmentResource(resources.ModelResource): class Meta: model = Department skip_unchanged = True report_skipped = True fields = ('enterprise', 'department_user', 'dept_name', 'parent', 'start_date', 'end_date') enterprise = fields.Field( column_name='enterprise', # this is the name of imported column attribute= 'enterprise', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Enterprise, 'name')) # specify which field of the fk this column refer to department_user = fields.Field( column_name='department_user', # this is the name of imported column attribute= 'department_user', # this is the name of the model attribute it represents widget=ForeignKeyWidget( User, 'username')) # specify which field of the fk this column refer to parent = fields.Field( column_name='parent', # this is the name of imported column attribute= 'parent', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Department, 'dept_name')) # specify which field of the fk this column refer to
class IndicatorResource(resources.ModelResource): indicator_type = fields.Field( column_name='indicator types', attribute='indicator_types') objectives = fields.Field(column_name='objectives', attribute='objectives_list') strategic_objectives = fields.Field( column_name='strategic objectives', attribute='strategicobjectives_list') program = fields.Field(column_name='program', attribute='programs') sector = fields.Field(column_name='sector', attribute='sector', widget=ForeignKeyWidget(Sector, 'sector')) reporting_frequency = fields.Field(column_name='reporting_frequency', attribute='reporting_frequency', widget=ForeignKeyWidget( ReportingFrequency, 'frequency')) level = fields.Field(column_name='levels', attribute='levels') disaggregation = fields.Field( column_name='disaggregation', attribute='disaggregations') approval_submitted_by = fields.Field(column_name='approval submitted by', attribute='approval_submitted_by', widget=ForeignKeyWidget(ActivityUser, 'name')) approved_by = fields.Field( column_name='approved by', attribute='approved_by', widget=ForeignKeyWidget(ActivityUser, 'name')) class Meta: model = Indicator exclude = ('create_date', 'edit_date', 'owner', 'id', 'strategic_objective', 'objective')
class EventResource(resources.ModelResource): activity = Field(column_name="activity", attribute="activity", widget=ForeignKeyWidget(Activity, "id")) organization = Field(column_name="organization", attribute="organization", widget=ForeignKeyWidget(Organization, "id")) registered = Field(column_name="registered", attribute="registered", widget=ManyToManyWidget(CustomUser)) presents = Field(column_name="presents", attribute="presents", widget=ManyToManyWidget(CustomUser)) organizers = Field(column_name="organizers", attribute="organizers", widget=ManyToManyWidget(CustomUser)) location = Field(column_name="location", attribute="location", widget=ForeignKeyWidget(Place, "id")) conditions = Field(column_name="conditions", attribute="conditions", widget=ManyToManyWidget(Condition)) class Meta: model = Event
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 StakeholderResource(resources.ModelResource): type = fields.Field(column_name='type', attribute='type', widget=ForeignKeyWidget(StakeholderType, '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')) sector = fields.Field(column_name='sector', attribute='sector', widget=ForeignKeyWidget(Sector, 'sector')) approved_by = fields.Field(column_name='approved_by', attribute='approved_by', widget=ForeignKeyWidget(TolaUser, 'name')) filled_by = fields.Field(column_name='filled_by', attribute='filled_by', widget=ForeignKeyWidget(TolaUser, 'name')) stakeholder_register = fields.Field(column_name='stakeholder_register', attribute='stakeholder_register') class Meta: model = Stakeholder def dehydrate_stakeholder_register(self, stakeholder): if stakeholder.stakeholder_register == 1: return 'True' if stakeholder.stakeholder_register == 0: return 'False'
class ProyeccionResource(resources.ModelResource): estacion = fields.Field(column_name='estacion', attribute='estacion', widget=ForeignKeyWidget(Estacion, 'site_name')) parte = fields.Field(column_name='parte', attribute='parte', widget=ForeignKeyWidget(Parte, 'parte_nokia')) class Meta: model = Proyeccion exclude = ( 'estado', 'creado', 'actualizado', ) export_order = ( 'id', 'estacion', 'proyecto', 'escenario', 'banda', 'agrupadores', 'rfe', 'parte', 'estado_proyeccion', 'cantidad_estimada', # 'estado', 'subestado', # 'creado', # 'actualizado', )
class ProductResource(resources.ModelResource): group = resources.Field(attribute='group', column_name='group', widget=ForeignKeyWidget(Group, 'code')) operator = resources.Field(attribute='operator', column_name='operator', widget=ForeignKeyWidget(Operator, 'code')) class Meta: model = Product fields = [ 'code', 'product_name', 'type_product', 'operator', 'group', 'nominal', 'price', 'commision', ] export_order = [ 'code', 'product_name', 'type_product', 'operator', 'group', 'nominal', 'price', 'commision', ] import_id_fields = ['code'] skip_unchanged = True report_skipped = False
class TrainingMatrixResource(resources.ModelResource): department = fields.Field(column_name='department', attribute='department', widget=ForeignKeyWidget(Department, 'department')) position = fields.Field(column_name='position', attribute='position', widget=ForeignKeyWidget(Position, 'position')) training = fields.Field(column_name='training', attribute='training', widget=ManyToManyWidget(Training, separator=',', field='title')) class Meta: model = TrainingMatrix exclude = ('id', ) import_id_fields = ( 'department', 'position', ) fields = ( 'department', 'position', 'job', )
class GradeResource(resources.ModelResource): class Meta: model = Grade skip_unchanged = True report_skipped = True enterprise = fields.Field( column_name='enterprise', # this is the name of imported column attribute= 'enterprise ', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Enterprise, 'pk')) # specify which field of the fk this column refer to grade_user = fields.Field( column_name='grade_user', # this is the name of imported column attribute= 'grade_user', # this is the name of the model attribute it represents widget=ForeignKeyWidget( User, 'pk')) # specify which field of the fk this column refer to def after_import_instance(self, instance, new, **kwargs): if new or not instance.created_by: instance.created_by = kwargs['user'] instance.last_update_by = kwargs['user']
class PositionResource(resources.ModelResource): class Meta: model = Position skip_unchanged = True report_skipped = True job = fields.Field( column_name='job', # this is the name of imported column attribute= ' job', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Job, 'pk')) # specify which field of the fk this column refer to department = fields.Field( column_name='department', # this is the name of imported column attribute= 'department', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Department, 'pk')) # specify which field of the fk this column refer to grade = fields.Field( column_name='grade', # this is the name of imported column attribute= 'grade', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Grade, 'pk')) # specify which field of the fk this column refer to def after_import_instance(self, instance, new, **kwargs): if new or not instance.created_by: instance.created_by = kwargs['user'] instance.last_update_by = kwargs['user']
class ParticipanteResource(resources.ModelResource): regiao_de_venda = fields.Field(column_name='regiao_de_venda', attribute='regiao_de_venda', widget=ForeignKeyWidget( RegiaoDeVenda, 'pk')) grupo = fields.Field(column_name='grupo', attribute='grupo', widget=ForeignKeyWidget(GrupoParticipante, 'pk')) cidade = fields.Field(column_name='cidade', attribute='cidade', widget=ForeignKeyWidget(Municipio, 'pk')) estado = fields.Field(column_name='estado', attribute='estado', widget=ForeignKeyWidget(Uf, 'pk')) pais = fields.Field(column_name='pais', attribute='pais', widget=ForeignKeyWidget(PaisIbge, 'pk')) class Meta: model = Participante fields = '__all__'
class SpecialistResource(resources.ModelResource): # 控制外键关系的插件,column_name为导出后表头 spe_ctg1 = fields.Field(column_name="所从事专业1", attribute="spe_ctg1", widget=ForeignKeyWidget(Category, 'ctg_name')) spe_ctg2 = fields.Field(column_name="所从事专业2", attribute="spe_ctg2", widget=ForeignKeyWidget(Category, 'ctg_name')) spe_major = fields.Field(column_name="所学专业", widget=ForeignKeyWidget(Category, 'ctg_name')) class Meta: skip_unchanged = True report_skipped = True import_id_fields = ('id', ) model = SpecialistModel export_order = ('id', 'spe_name', 'spe_gender', 'spe_birth', 'spe_company', 'spe_tel', 'spe_title', 'spe_job', 'spe_station', 'spe_cid', 'spe_edu', 'spe_major', 'spe_ctg1', 'spe_ctg2') # import—export中文列名的最终解决方案 @classmethod def field_from_django_field(cls, field_name, django_field, readonly): FieldWidget = cls.widget_from_django_field(django_field) widget_kwargs = cls.widget_kwargs_for_field(field_name) field = cls.DEFAULT_RESOURCE_FIELD( attribute=field_name, # 重写column_name column_name=django_field.verbose_name, widget=FieldWidget(**widget_kwargs), readonly=readonly, default=django_field.default, ) return field
class GameKeyResource(resources.ModelResource): game = fields.Field(column_name='game', attribute='game', widget=ForeignKeyWidget(Game, 'name')) buyer = fields.Field(column_name='buyer', attribute='buyer', widget=ForeignKeyWidget(Member, 'name')) sell_web = fields.Field(column_name='sell_web', attribute='sell_web', widget=ForeignKeyWidget(Web, 'name')) class Meta: model = GameKey skip_unchanged = True report_skipped = False fields = ( 'id', 'game', 'key', 'buyer', 'buy_date', 'buy_price', 'minimum_sell_price', 'sell_date', 'sell_price', 'sell_web', )
class FundoResource(resources.ModelResource): administradora = fields.Field(column_name='administradora', attribute='administradora', widget=ForeignKeyWidget( Administradora, 'nome')) gestora = fields.Field(column_name='gestora', attribute='gestora', widget=ForeignKeyWidget(Gestora, 'nome')) corretora = fields.Field(column_name='corretora', attribute='corretora', widget=ForeignKeyWidget(Corretora, 'nome')) pais = fields.Field(column_name='pais', attribute='pais', widget=ForeignKeyWidget(am.Pais, 'nome')) caixa_padrao = fields.Field(column_name='caixa_padrao', attribute='caixa_padrao', widget=ForeignKeyWidget(am.Caixa, 'nome')) class Meta: model = Fundo fields = ('nome', 'administradora', 'gestora', 'distribuidora', 'categoria', 'data_de_inicio', 'pais', 'taxa_administracao', 'capitalizacao_taxa_adm') export_order = ('nome', 'administradora', 'gestora', 'distribuidora', 'categoria', 'data_de_inicio', 'pais', 'taxa_administracao', 'capitalizacao_taxa_adm')
class ImpactoResource(resources.ModelResource): estacion = fields.Field(column_name='estacion', attribute='estacion', widget=ForeignKeyWidget(Estacion, 'site_name')) parte = fields.Field(column_name='parte', attribute='parte', widget=ForeignKeyWidget(Parte, 'parte_nokia')) class Meta: model = Impacto exclude = ( 'estado', 'creado', 'actualizado', ) export_order = ( 'id', 'estacion', 'w_fc_sal', 'w_fc_imp', 'bolsa', 'parte', 'grupo_parte', 'cantidad_estimada', 'tipo_impacto', 'impactado', # 'estado', 'subestado', # 'creado', # 'actualizado', )
class FlightResource(resources.ModelResource): # airport_from = fields.Field( # column_name="airport_from", attribute="airport_from", # widget=ForeignKeyWidget(Airport, 'iata')) # airport_to = fields.Field( # column_name="airport_to_iata", attribute="airport_to", # widget=ForeignKeyWidget(Airport, 'iata')) # flight_duration = fields.Field(column_name="flight_duration", attribute) operator = fields.Field( column_name="operator", attribute="operator", widget=ForeignKeyWidget(Airline, 'iata')) equipment = fields.Field( column_name="equipment_name", attribute="equipment", widget=ForeignKeyWidget(Aircraft, 'designator')) class Meta: model = Flight fields = ('operator','equipment') class Meta: fields = ('author',) # def dehydrate_airport_from(self, airport_from): # rv = Airport.objects.get(iata=airport_from) # return rv # def airport_to.clean(self, airport_to): # rv = Airport.objects.get(iso_code2=airport_to) # return rv # def flight_duration.clean(self, flight_duration): # rv = self.calculate_flight_duration() # return rv def dehydrate_operator(self, operator): rv = Airline.objects.get(iata=operator) return rv
class RefundResource(resources.ModelResource): orderline = fields.Field( column_name='orderline', attribute='orderline', widget=ForeignKeyWidget(OrderLine, 'content_type__model'), ) product_name = fields.Field( column_name='product_name', attribute='orderline', widget=ForeignKeyWidget(OrderLine, 'content_object__name'), ) class Meta: model = Refund fields = ( 'id', 'orderline', 'product_name', 'amount', 'details', 'refund_date', ) export_order = ( 'id', 'orderline', 'product_name', 'amount', 'details', 'refund_date', )
class BasketResource(resources.ModelResource): """ Import export resource for Basket model """ study = Field(attribute="study", widget=ForeignKeyWidget(Study, field="name")) user = Field(attribute="user", widget=ForeignKeyWidget(User, field="username")) class Meta: # pylint: disable=missing-docstring model = Basket import_id_fields = ("user", "name", "study") fields = ("name", "label", "description", "user", "study", "created", "modified") export_order = ( "name", "label", "description", "user", "study", "created", "modified", ) def get_queryset(self) -> QuerySet: """ Return the queryset for this resource's model with select related fields. """ return (self._meta.model.objects.all().select_related( "user", "study").only( "name", "label", "description", "user__username", "study__name", "created", "modified", ))
class EstudianteResource(resources.ModelResource): Programa_Academico = fields.Field(attribute='Programa_Academico', widget=ForeignKeyWidget( Programa, 'nombre')) Ciclo_Lectivo = fields.Field(attribute='Ciclo_Lectivo', widget=ForeignKeyWidget(Ciclo, 'ciclol')) class Meta: import_id_fields = ('ID_Estudiante', 'foto_url', 'Primer_Nombre', 'Segundo_Nombre', 'Primer_Apellido', 'Segundo_Apellido', 'Nro_Documento', 'Tipo_Documento', 'genero', 'Programa_Academico', 'Correo_Institucional', 'Nro_Telefonico', 'Ciclo_Lectivo', 'Descripcion') model = Estudiantes export_order = ('ID_Estudiante', 'foto_url', 'Primer_Nombre', 'Segundo_Nombre', 'Primer_Apellido', 'Segundo_Apellido', 'Nro_Documento', 'Tipo_Documento', 'genero', 'Programa_Academico', 'Correo_Institucional', 'Nro_Telefonico', 'Ciclo_Lectivo', 'Descripcion') fields = ('ID_Estudiante', 'foto_url', 'Primer_Nombre', 'Segundo_Nombre', 'Primer_Apellido', 'Segundo_Apellido', 'Nro_Documento', 'Tipo_Documento', 'genero', 'Programa_Academico', 'Correo_Institucional', 'Nro_Telefonico', 'Ciclo_Lectivo', 'Descripcion')
class EmployeeResource(resources.ModelResource): formats = DEFAULT_FORMATS user = fields.Field(column_name='user', attribute='user', widget=ForeignKeyWidget(User, field ='username')) department = fields.Field(column_name='department', attribute='department', widget=ForeignKeyWidget(Department, field ='title')) # organization = fields.Field(column_name='organization', attribute='organization', # widget=ForeignKeyWidget(Organization, field ='title')) parent = fields.Field(column_name='reporting to', attribute='parent', widget=ForeignKeyWidget(Employee, field ='name')) roles = fields.Field(column_name='roles', attribute='roles', widget=ManyToManyWidget(Role, field ='title')) class Meta: model = Employee skip_unchanged = True report_skipped = True import_id_fields = ('user',) fields = ('name','user','department','roles','parent',) export_order = ('name','user','department','roles','parent',)
class PositionResource(resources.ModelResource): class Meta: model = Position skip_unchanged = True report_skipped = True fields = ('job', 'department', 'grade', 'position_name', 'position_description', 'start_date', 'end_date') job = fields.Field( column_name='job', # this is the name of imported column attribute='job', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Job, 'job_name')) # specify which field of the fk this column refer to department = fields.Field( column_name='department', # this is the name of imported column attribute= 'department', # this is the name of the model attribute it represents widget=ForeignKeyWidget( Department, 'dept_name')) # specify which field of the fk this column refer to grade = fields.Field( column_name='grade', # this is the name of imported column attribute= 'grade', # this is the name of the model attribute it represents widget=ForeignKeyWidget(Grade, 'grade_name') ) # specify which field of the fk this column refer to
class BuyInfoResource(resources.ModelResource): market = fields.Field(attribute='market', column_name='market', widget=ForeignKeyWidget(Market, field='name')) product = fields.Field(attribute='product', column_name='product', widget=ForeignKeyWidget(Product, field='code')) class Meta: model = BuyInfo fields = [ 'market', 'product', 'buy_edi_code', 'date', 'price', 'active', 'slug', 'pay_type', 'pro_type', ] import_id_fields = 'slug', export_order = [ 'market', 'product', 'buy_edi_code', 'date', 'price', 'active', 'slug', 'pay_type', 'pro_type', ]
class IndicatorResource(resources.ModelResource): indicator_type = ManyToManyWidget(IndicatorType, separator=" | ", field="indicator_type") objective = ManyToManyWidget(Objective, separator=" | ", field="objective"), strategic_objective = ManyToManyWidget(StrategicObjective, separator=" | ", field="strategic_objective") level = ManyToManyWidget(Level, separator=" | ", field="level") reporting_frequency = fields.Field(column_name='reporting_frequency', attribute='reporting_frequency', widget=ForeignKeyWidget( ReportingFrequency, 'frequency')) sector = fields.Field(column_name='sector', attribute='sector', widget=ForeignKeyWidget(Sector, 'sector')) program = ManyToManyWidget(Program, separator=" | ", field="name") class Meta: model = Indicator fields = ('id','indicator_type','level','objective','strategic_objective','name','number',\ 'source','definition','baseline','lop_target','means_of_verification','data_collection_method','responsible_person',\ 'method_of_analysis','information_use','reporting_frequency','comments','disaggregation','sector',\ 'program','key_performance_indicator')
class RecordResource(resources.ModelResource): mandir = fields.Field(column_name='mandir', attribute='mandir', widget=ForeignKeyWidget(Mandir, 'name')) title = fields.Field(column_name='title', attribute='title', widget=ForeignKeyWidget(BoliChoice, 'name')) pan_card = fields.Field(column_name='pan_card', attribute='account', widget=ForeignKeyWidget(Account, 'pan_card')) account = fields.Field(column_name='phone_number', attribute='account', widget=ForeignKeyWidget(Account, 'phone_number')) paid = Field() def dehydrate_paid(self, record): return 'Paid' if record.paid else 'Not Paid' def dehydrate_description(self, record): return record.account.description class Meta: model = Record export_order = ('id', 'mandir', 'account', 'description', 'pan_card', 'title', 'amount', 'boli_date', 'paid') exclude = ('created', 'transaction_id', 'payment_date')
class WaitQueueNotificationResource(resources.ModelResource): user = fields.Field( column_name='user', attribute='user', widget=ForeignKeyWidget(User, 'email'), ) retreat = fields.Field( column_name='retreat', attribute='retreat', widget=ForeignKeyWidget(Retreat, 'name'), ) created_at = fields.Field( column_name='created_at', attribute='created_at', widget=DateTimeWidget(), ) class Meta: model = Retreat fields = ( 'id', 'user', 'retreat', 'created_at', ) export_order = ( 'id', 'user', 'retreat', 'created_at', )
class SolicitudResource(resources.ModelResource): estacion = fields.Field( column_name='estacion', attribute='estacion', widget=ForeignKeyWidget(Estacion, 'nombre'), ) 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 = Solicitud exclude = ( 'supervisor_id', 'analista_id', 'creado', 'actualizado', ) export_order = ( 'id', 'supervisor', 'analista', 'tas', 'estacion', 'subsistema', 'prioridad', 'estado_solicitud', 'estado', 'subestado', )