class AbsenteeResource(resources.ModelResource): governorate = fields.Field(column_name='governorate', attribute='school', widget=widgets.ForeignKeyWidget( School, 'location_parent_name')) district = fields.Field(column_name='district', attribute='school', widget=widgets.ForeignKeyWidget( School, 'location_name')) class Meta: model = Absentee fields = ( 'school__number', 'school__name', 'governorate', 'district', 'student__number', 'student__first_name', 'student__father_name', 'student__last_name', 'student__mother_fullname', 'student__sex', 'last_attendance_date', 'absent_days', 'reattend_date', 'validation_status', 'dropout_status', ) export_order = fields
class CurriculumCourseResource(ModelResource): class Meta: model = CurriculumCourse exclude = ('created_at', 'reg_number', 'inner_id') id = Field(attribute='id', column_name='id', widget=UUIDWidget()) semester_number = Field(column_name='semester', attribute='semester_number') curriculum = fields.Field(column_name='kurikulum', attribute='curriculum', widget=widgets.ForeignKeyWidget( Curriculum, 'code')) course = fields.Field(column_name='mata_kuliah', attribute='course', widget=widgets.ForeignKeyWidget(Course, 'old_code')) name = Field(column_name='nama_mk', readonly=True) concentration = fields.Field(column_name='konsentrasi', attribute='concentration', widget=widgets.ManyToManyWidget(Concentration, separator=',', field='code')) sks_graduate = Field(column_name='min_sks_lulus', attribute='sks_graduate') def dehydrate_name(self, obj): course = getattr(obj, 'course', None) return '%s' % '' if not course else str(course.name)
class TicketResource(resources.ModelResource): trans_id = fields.Field(column_name='Trans ID', attribute='payment', widget=widgets.ForeignKeyWidget(Payment, 'trans_id')) issuer = fields.Field(column_name='Issuer', attribute='issuer', widget=widgets.ForeignKeyWidget(CompanyUser, 'user__username')) region = fields.Field(column_name='Region', attribute='region', widget=widgets.ForeignKeyWidget(Region, 'name')) issue_date = fields.Field(column_name='Issue Date', attribute='issue_date', widget=widgets.DateTimeWidget(format='%d/%m/%Y %H:%M')) unit_price = fields.Field(column_name='Unit Price', attribute='unit_price') ticket_value = fields.Field(column_name='Amount', attribute='ticket_value') ticket_count = fields.Field( column_name='Ticket Count', attribute='ticket_count') balance = fields.Field(column_name='Balance', attribute='balance') def __init__(self, user): self.user = user class Meta: model = Ticket fields = ['trans_id', 'region', 'issue_date', 'ticket_value', 'unit_price', 'ticket_count', 'balance', 'issuer'] def get_queryset(self): if self.user: role = self.user.profile.role print(f'User: {self.user}, Role: {role}') if role: if role.is_internal: return Ticket.objects.all().order_by('-issue_date') else: region = self.user.companyuser.region return Ticket.objects.filter(region=region).order_by('-issue_date') print('Not allowed to export!') return []
class SequenceResource(resources.ModelResource): project = fields.Field(column_name='project', attribute='project', widget=widgets.ForeignKeyWidget( Project, 'project_name')) package = fields.Field(column_name='package', attribute='package', widget=widgets.ForeignKeyWidget( Package, 'package_name')) folder = fields.Field(column_name='folder', attribute='folder', widget=widgets.ForeignKeyWidget( Folder, 'folder_name')) class Meta: model = Sequence #exclude = ('label_by',) fields = ('id', 'total_image', 'sequence_name', 'sequence_date', 'project', 'package', 'folder', 'sequence_status', 'completed_date', 'created_at', 'uploaded_date', 'created_by', 'updated_by') export_order = ('id', 'total_image', 'sequence_name', 'sequence_date', 'project', 'package', 'folder', 'sequence_status', 'completed_date', 'created_at', 'uploaded_date', 'created_by', 'updated_by')
class DomainResource(RalphModelResource): business_segment = fields.Field( column_name='business_segment', attribute='business_segment', widget=widgets.ForeignKeyWidget( assets.BusinessSegment, 'name', ), ) business_owner = fields.Field( column_name='business_owner', attribute='business_owner', widget=UserWidget(get_user_model()), ) technical_owner = fields.Field( column_name='technical_owner', attribute='technical_owner', widget=UserWidget(get_user_model()), ) domain_holder = fields.Field( column_name='domain_holder', attribute='domain_holder', widget=widgets.ForeignKeyWidget(assets.AssetHolder), ) service_env = fields.Field( column_name='service_env', attribute='service_env', widget=AssetServiceEnvWidget(assets.ServiceEnvironment), ) class Meta: model = Domain exclude = ('baseobject_ptr', )
class MenuItemResource(resources.ModelResource): name = fields.Field(column_name='Name', attribute='name') menu_item_type = fields.Field(column_name='Menu Item Type', attribute='menu_item_type', widget=widgets.ForeignKeyWidget( MenuItemType, 'name')) menu = fields.Field(column_name='Menu', attribute='menu', widget=widgets.ForeignKeyWidget(Menu, 'name')) restaurant = fields.Field(column_name='Restaurant', attribute='restaurant', widget=widgets.ForeignKeyWidget( Restaurant, 'name')) description = fields.Field(column_name='Description', attribute='description') price = fields.Field(column_name='Price', attribute='price') type = fields.Field(column_name='Cuisine Type', attribute='type') class Meta: model = MenuItem def before_import(self, dataset, using_transactions, dry_run, **kwargs): # for row in dataset: # add validations pass
class BomItemResource(ModelResource): """ Class for managing BomItem data import/export """ level = Field(attribute='level', readonly=True) bom_id = Field(attribute='pk') parent_part_id = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) parent_part_name = Field(attribute='part__full_name', readonly=True) sub_part_id = Field(attribute='sub_part', widget=widgets.ForeignKeyWidget(Part)) sub_part_name = Field(attribute='sub_part__full_name', readonly=True) sub_assembly = Field(attribute='sub_part__assembly', readonly=True) class Meta: model = BomItem skip_unchanged = True report_skipped = False clean_model_instances = True exclude = [ 'checksum', 'id', 'part', 'sub_part', ]
class StudentResource(ModelResource): class Meta: model = Student fields = ('id', 'account', 'student_id', 'registration_id', 'registration', 'year_of_force', 'coach', 'rmu', 'curriculum', 'semester', 'primary', 'status', 'status_note') id = Field(attribute='id', column_name='id', widget=UUIDWidget()) name = Field(column_name='name', readonly=True) student_id = Field(column_name='npm', attribute='student_id') account = fields.Field(column_name='email_account', attribute='account', widget=widgets.ForeignKeyWidget( get_user_model(), 'email')) year_of_force = fields.Field(column_name='angkatan', attribute='year_of_force', widget=widgets.ForeignKeyWidget( SchoolYear, 'code')) coach = fields.Field(column_name='pembimbing_akademik', attribute='coach', widget=widgets.ForeignKeyWidget(Teacher, 'tid')) rmu = fields.Field(column_name='program_studi', attribute='rmu', widget=widgets.ForeignKeyWidget(ManagementUnit, 'code')) curriculum = fields.Field(column_name='kurikulum', attribute='curriculum', widget=widgets.ForeignKeyWidget( Curriculum, 'code')) def dehydrate_name(self, obj): account = getattr(obj, 'account', None) return '%s' % account
class AbsenteeResource(resources.ModelResource): governorate = fields.Field(column_name='governorate', attribute='school', widget=widgets.ForeignKeyWidget( School, 'location_parent_name')) district = fields.Field(column_name='district', attribute='school', widget=widgets.ForeignKeyWidget( School, 'location_name')) class Meta: model = Absentee fields = ('school__number', 'school__name', 'governorate', 'district', 'education_year', 'alp_round', 'level_name', 'section_name', 'student__number', 'student__first_name', 'student__father_name', 'student__last_name', 'student__mother_fullname', 'student__sex', 'last_attendance_date', 'attended_days', 'total_attended_days', 'last_absent_date', 'absent_days', 'total_absent_days', 'last_modification_date') export_order = ('school_id', 'student_id', 'last_attendance_date', 'attended_days', 'total_attended_days', 'last_absent_date', 'absent_days', 'total_absent_days', 'last_modification_date', 'education_year_id', 'alp_round', 'level', 'level_name', 'section', 'section_name')
class BaseImportExportResource(resources.ModelResource): project_code = fields.Field( attribute='project_code', widget=widgets.ForeignKeyWidget(ProjectCode, 'code'), ) collab_id = fields.Field( attribute='collab_id', widget=widgets.CharWidget(), ) sample_type = fields.Field( attribute='sample_type', widget=widgets.ForeignKeyWidget(SampleType, 'code'), ) nucleic_acid_type = fields.Field( attribute='nucleic_acid_type', widget=widgets.ForeignKeyWidget(NucleicAcidType, 'code'), ) sequencing_type = fields.Field( attribute='sequencing_type', widget=widgets.ForeignKeyWidget(SequencingType, 'code'), ) notes = fields.Field( attribute='notes', widget=widgets.CharWidget(), ) raise_errors = True skip_unchanged = True report_skipped = True class Meta: abstract = True
class BySchoolResource(resources.ModelResource): governorate = fields.Field(column_name='governorate', attribute='school', widget=widgets.ForeignKeyWidget( School, 'location_parent_name')) district = fields.Field(column_name='district', attribute='school', widget=widgets.ForeignKeyWidget( School, 'location_name')) class Meta: model = BySchoolByDay fields = ( 'school__number', 'school__name', 'governorate', 'district', 'attendance_date', 'total_enrolled', 'total_attended', 'total_attended_male', 'total_attended_female', 'total_absent_male', 'total_absent_female', 'validation_date', )
class AddaResource(resources.ModelResource): published = fields.Field(column_name='published', attribute='published') is_sbi_approved = fields.Field(column_name='is_sbi_approved', attribute='is_sbi_approved') location = fields.Field(column_name='location', attribute='location', widget=widgets.ForeignKeyWidget(Location, 'name')) brand = fields.Field(column_name='brand', attribute='brand', widget=widgets.ForeignKeyWidget(Brand, 'name')) category = fields.Field(column_name='category', attribute='category', widget=widgets.ForeignKeyWidget(Category, 'name')) possession = fields.Field(column_name='possession', attribute='possession', widget=widgets.ForeignKeyWidget(Possession, 'name')) configuration = fields.Field(column_name='configuration', attribute='configuration', widget=widgets.ManyToManyWidget(Configuration, ',', 'name')) fuel_type = fields.Field(column_name='fuel_type', attribute='fuel_type', widget=widgets.ForeignKeyWidget(FuelType, 'name')) two_wheeler_categories = fields.Field(column_name='two_wheeler_categories', attribute='two_wheeler_categories', widget=widgets.ForeignKeyWidget(TwoWheelerCategory, 'name')) two_wheeler_transmission = fields.Field(column_name='two_wheeler_transmission', attribute='two_wheeler_transmission', widget=widgets.ForeignKeyWidget(TwoWheelerTransmission, 'name')) four_wheeler_type = fields.Field(column_name='four_wheeler_type', attribute='four_wheeler_type', widget=widgets.ForeignKeyWidget(FourWheelerCategory, 'name')) four_wheeler_transmission = fields.Field(column_name='four_wheeler_transmission', attribute='four_wheeler_transmission', widget=widgets.ForeignKeyWidget(FourWheelerTransmission, 'name')) tags = fields.Field(column_name='tags', attribute='tags', widget=widgets.ManyToManyWidget(Tag, ',', 'name')) class Meta: model = Adda skip_unchanged = True report_skipped = False fields = ('id', 'title', 'published', 'is_sbi_approved', 'short_description', 'rich_text_description', 'featured_image', 'address', 'location', 'state', 'country', 'virtual_tour_link', 'brochure_link', 'price_sheet_link', 'market_price', 'brand', 'category', 'joined_users', 'favorited_users', 'possession', 'possession_date', 'configuration', 'ex_showroom_price', 'fuel_type', 'two_wheeler_categories', 'two_wheeler_transmission', 'two_wheeler_max_power', 'four_wheeler_type', 'four_wheeler_transmission', 'four_wheeler_bhp', 'mileage', 'tags') export_order = ('id', 'title', 'published', 'is_sbi_approved', 'short_description', 'rich_text_description', 'featured_image', 'address', 'location', 'state', 'country', 'virtual_tour_link', 'brochure_link', 'price_sheet_link', 'market_price', 'brand', 'category', 'joined_users', 'favorited_users', 'possession', 'possession_date', 'configuration', 'ex_showroom_price', 'fuel_type', 'two_wheeler_categories', 'two_wheeler_transmission', 'two_wheeler_max_power', 'four_wheeler_type', 'four_wheeler_transmission', 'four_wheeler_bhp', 'mileage', 'tags')
class PartCategoryResource(ModelResource): """ Class for managing PartCategory data import/export """ parent = Field(attribute='parent', widget=widgets.ForeignKeyWidget(PartCategory)) parent_name = Field(attribute='parent__name', readonly=True) default_location = Field(attribute='default_location', widget=widgets.ForeignKeyWidget(StockLocation)) class Meta: model = PartCategory skip_unchanged = True report_skipped = False clean_model_instances = True exclude = [ # Exclude MPTT internal model fields 'lft', 'rght', 'tree_id', 'level', ] def after_import(self, dataset, result, using_transactions, dry_run, **kwargs): super().after_import(dataset, result, using_transactions, dry_run, **kwargs) # Rebuild the PartCategory tree(s) PartCategory.objects.rebuild()
class ManifestListManifestResource(QueryModelResource): """ Resource for import/export of manifest_list manifest m2m entries """ manifest_list = fields.Field( column_name="manifest_list", attribute="manifest_list", widget=widgets.ForeignKeyWidget(Manifest, field="digest"), ) image_manifest = fields.Field( column_name="image_manifest", attribute="image_manifest", widget=widgets.ForeignKeyWidget(Manifest, field="digest"), ) def set_up_queryset(self): """ :return: Manifests specific to a specified repo-version. """ return ManifestListManifest.objects.filter( manifest_list__pk__in=self.repo_version.content).order_by("id") class Meta: model = ManifestListManifest
class PartResource(ModelResource): """ Class for managing Part data import/export """ # ForeignKey fields category = Field(attribute='category', widget=widgets.ForeignKeyWidget(PartCategory)) default_location = Field(attribute='default_location', widget=widgets.ForeignKeyWidget(StockLocation)) default_supplier = Field(attribute='default_supplier', widget=widgets.ForeignKeyWidget(SupplierPart)) category_name = Field(attribute='category__name', readonly=True) variant_of = Field(attribute='variant_of', widget=widgets.ForeignKeyWidget(Part)) suppliers = Field(attribute='supplier_count', readonly=True) # Extra calculated meta-data (readonly) in_stock = Field(attribute='total_stock', readonly=True, widget=widgets.IntegerWidget()) on_order = Field(attribute='on_order', readonly=True, widget=widgets.IntegerWidget()) used_in = Field(attribute='used_in_count', readonly=True, widget=widgets.IntegerWidget()) allocated = Field(attribute='allocation_count', readonly=True, widget=widgets.IntegerWidget()) building = Field(attribute='quantity_being_built', readonly=True, widget=widgets.IntegerWidget()) class Meta: model = Part skip_unchanged = True report_skipped = False clean_model_instances = True exclude = ['bom_checksum', 'bom_checked_by', 'bom_checked_date'] def get_queryset(self): """ Prefetch related data for quicker access """ query = super().get_queryset() query = query.prefetch_related( 'category', 'used_in', 'builds', 'supplier_parts__purchase_order_line_items', 'stock_items__allocations') return query
class ExportUserResource(resources.ModelResource): first_name = fields.Field( column_name='Nombre', attribute='first_name', ) last_name = fields.Field( column_name='Apellido', attribute='last_name', ) email = fields.Field( column_name='Correo', attribute='email', ) charge = fields.Field( column_name='Cargo', attribute='charge', ) region = fields.Field(column_name=u'Región', attribute='region', widget=widgets.ForeignKeyWidget(User, 'region')) institution = fields.Field(column_name=u'Institución', attribute='institution', widget=widgets.ForeignKeyWidget( User, 'institution')) class Meta: model = User fields = ( 'first_name', 'last_name', 'email', 'institution', 'region', 'charge', ) export_order = ('first_name', 'last_name', 'email', 'institution', 'region', 'charge') def dehydrate_institution(self, obj): """ Representation of institution at the time of export """ if obj.id: institution = obj.institution if institution: return u"{}".format(institution.name) return u'' def dehydrate_region(self, obj): """ Representation of region at the time of export """ if obj.id: region = obj.region if region: return u"{}".format(region.name) return u''
class DataResource(resources.ModelResource): groupname = fields.Field(widget=widgets.ForeignKeyWidget(Addgroup, 'name')) system_name = fields.Field(column_name='system_name', attribute='system_name', widget=widgets.ForeignKeyWidget( Addsystemname, 'name')) I6000 = fields.Field(column_name='I6000', attribute='I6000') class Meta: fields = ('groupname', 'system_name', 'I6000')
class ProgressResource(resources.ModelResource): language = fields.Field("language", "language", widgets.ForeignKeyWidget(Language, "code"), None) type = fields.Field("type", "type", widgets.ForeignKeyWidget(Document, "code"), None) methods = fields.Field("methods", "methods", widgets.ManyToManyWidget(Method, ",", "name"), None) partners = fields.Field("partners", "partners", widgets.ManyToManyWidget(Partner, ",", "name"), None) class Meta: model = Progress fields = ("id", "language", "type", "is_online", "methods", "completion_rate", "completion_date", "qa_level", "in_door43", "in_uw", "partners", "notes", "is_done")
class EventJoinedUsersResource(resources.ModelResource): event = fields.Field(column_name='event', attribute='event', widget=widgets.ForeignKeyWidget(Event, 'title')) user = fields.Field(column_name='user', attribute='user', widget=widgets.ForeignKeyWidget(User, 'username')) class Meta: model = EventJoinedUsers skip_unchanged = True report_skipped = False fields = ('id', 'event', 'user', 'joined_date') export_order = ('id', 'event', 'user', 'joined_date')
class BomItemResource(ModelResource): """ Class for managing BomItem data import/export """ part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) sub_part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) class Meta: model = BomItem skip_unchanged = True report_skipped = False
class ItemAdminResource(JSONResourceMixin, resources.ModelResource): category = fields.Field(column_name='category', attribute='category', widget=widgets.ForeignKeyWidget( ItemCategory, 'name')) manufacturer = fields.Field(column_name='manufacturer', attribute='manufacturer', widget=widgets.ForeignKeyWidget( ItemManufacturer, 'name')) class Meta: model = Item
class StockItemResource(InvenTreeResource): """Class for managing StockItem data import/export.""" # Custom managers for ForeignKey fields part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) part_name = Field(attribute='part__full_name', readonly=True) supplier_part = Field(attribute='supplier_part', widget=widgets.ForeignKeyWidget(SupplierPart)) supplier = Field(attribute='supplier_part__supplier__id', readonly=True) customer = Field(attribute='customer', widget=widgets.ForeignKeyWidget(Company)) supplier_name = Field(attribute='supplier_part__supplier__name', readonly=True) status_label = Field(attribute='status_label', readonly=True) location = Field(attribute='location', widget=widgets.ForeignKeyWidget(StockLocation)) location_name = Field(attribute='location__name', readonly=True) belongs_to = Field(attribute='belongs_to', widget=widgets.ForeignKeyWidget(StockItem)) build = Field(attribute='build', widget=widgets.ForeignKeyWidget(Build)) parent = Field(attribute='parent', widget=widgets.ForeignKeyWidget(StockItem)) sales_order = Field(attribute='sales_order', widget=widgets.ForeignKeyWidget(SalesOrder)) purchase_order = Field(attribute='purchase_order', widget=widgets.ForeignKeyWidget(PurchaseOrder)) # Date management updated = Field(attribute='updated', widget=widgets.DateWidget()) stocktake_date = Field(attribute='stocktake_date', widget=widgets.DateWidget()) def after_import(self, dataset, result, using_transactions, dry_run, **kwargs): """Rebuild after import to keep tree intact.""" super().after_import(dataset, result, using_transactions, dry_run, **kwargs) # Rebuild the StockItem tree(s) StockItem.objects.rebuild() class Meta: """Metaclass options.""" model = StockItem skip_unchanged = True report_skipped = False clean_model_instance = True exclude = [ # Exclude MPTT internal model fields 'lft', 'rght', 'tree_id', 'level', # Exclude internal fields 'serial_int', 'metadata', ]
class CommunityTrackEventResource(resources.ModelResource): talk = fields.Field(column_name='talk', attribute='talk', widget=widgets.ForeignKeyWidget(TalkProposal, 'id')) venue = fields.Field(column_name='venue', attribute='venue', widget=widgets.ForeignKeyWidget(Venue, 'name')) class Meta: model = CommunityTrackEvent fields = ( 'id', 'venue', 'order', 'talk', 'talk__title', ) export_order = ( 'id', 'venue', 'order', 'talk', 'talk__title', )
class SupplierPartResource(ModelResource): """ Class for managing SupplierPart data import/export """ part = Field(attribute='part', widget=widgets.ForeignKeyWidget(Part)) supplier = Field(attribute='supplier', widget=widgets.ForeignKeyWidget(Company)) class Meta: model = SupplierPart skip_unchanged = True report_skipped = False
class EntityAttrResource(AironeModelResource): _IMPORT_INFO = { 'header': [ 'id', 'name', 'type', 'refer', 'entity', 'created_user', 'is_mandatory' ], 'mandatory_keys': ['name', 'type', 'entity', 'created_user'], 'resource_module': 'entity.admin', 'resource_model_name': 'EntityAttrResource', } COMPARING_KEYS = [ 'name', 'is_mandatory', 'referral', 'parent_entity', 'created_user' ] DISALLOW_UPDATE_KEYS = ['parent_entity', 'created_user'] user = fields.Field(column_name='created_user', attribute='created_user', widget=widgets.ForeignKeyWidget(User, 'username')) refer = fields.Field(column_name='refer', attribute='referral', widget=widgets.ManyToManyWidget(model=ACLBase, field='name')) entity = fields.Field(column_name='entity', attribute='parent_entity', widget=widgets.ForeignKeyWidget(model=Entity, field='name')) class Meta: model = EntityAttr fields = ('id', 'name', 'type', 'is_mandatory') def after_save_instance(self, instance, using_transactions, dry_run): # If a new EntityAttr object is created, # this processing append it to the associated Entity object. if not dry_run: entity = instance.parent_entity if not entity.attrs.filter(id=instance.id).exists(): entity.attrs.add(instance) def import_obj(self, instance, data, dry_run): if not Entity.objects.filter(name=data['entity']).exists(): raise RuntimeError('failed to identify entity object') if data['refer'] and not Entity.objects.filter( name=data['refer']).exists(): raise RuntimeError('refer to invalid entity object') super(EntityAttrResource, self).import_obj(instance, data, dry_run)
class RosterResource(resources.ModelResource): user_name = fields.Field(column_name='User Name', attribute='user', widget=widgets.ForeignKeyWidget( auth.models.User, 'username')) semester_name = fields.Field(column_name='Semester Name', attribute='semester', widget=widgets.ForeignKeyWidget( core.models.Semester, 'name')) unit_list = fields.Field(column_name='Unit List', attribute='curriculum', widget=widgets.ManyToManyWidget(core.models.Unit, separator=';'))
class SupplierPriceBreakResource(ModelResource): """ Class for managing SupplierPriceBreak data import/export """ part = Field(attribute='part', widget=widgets.ForeignKeyWidget(SupplierPart)) currency = Field(attribute='currency', widget=widgets.ForeignKeyWidget(Currency)) class Meta: model = SupplierPriceBreak skip_unchanged = True report_skipped = False
class ImageResource(resources.ModelResource): User = get_user_model() project = fields.Field(column_name='project', attribute='project', widget=widgets.ForeignKeyWidget( Project, 'project_name')) package = fields.Field(column_name='package', attribute='package', widget=widgets.ForeignKeyWidget( Package, 'package_name')) folder = fields.Field(column_name='folder', attribute='folder', widget=widgets.ForeignKeyWidget( Folder, 'folder_name')) set = fields.Field(column_name='set', attribute='set', widget=widgets.ForeignKeyWidget(Set, 'set_name')) sequence = fields.Field(column_name='sequence', attribute='sequence', widget=widgets.ForeignKeyWidget( Sequence, 'sequence_name')) # assign_to__username = fields.Field(column_name='assign_to',attribute='assign_to',widget=widgets.ForeignKeyWidget(User,'id')) # assign_to__username = fields.Field( # column_name='assign_to__username', # attribute='assign_to', # widget=ForeignKeyWidget(model=User, field='username')) assign_to = fields.Field(column_name='assign_to', attribute='assign_to', widget=ForeignKeyWidget(model=User, field='first_name')) class Meta: model = Image #exclude = ('label_by',) fields = ('id', 'project', 'package', 'sequence', 'folder', 'set', 'image_name', 'image_type', 'status', 'assign_to', 'assign_at', 'label_time', 'label_date', 'correction_time', 'corrected_date', 'label_by', 'corrected_by', 'total_objects', 'layer_issues', 'border_issues', 'missing_objects', 'loop_on_image', 'approved_by', 'approved_date', 'remark', 'file_type', 'created_at', 'created_by') export_order = ('id', 'project', 'package', 'sequence', 'folder', 'set', 'image_name', 'image_type', 'status', 'assign_to', 'assign_at', 'label_time', 'label_date', 'correction_time', 'corrected_date', 'label_by', 'corrected_by', 'total_objects', 'layer_issues', 'border_issues', 'missing_objects', 'loop_on_image', 'approved_by', 'approved_date', 'remark', 'file_type', 'created_at', 'created_by')
class StudentConversionItemResource(ModelResource): class Meta: model = StudentConversionItem exclude = ('created_at', 'studentscore_ptr', 'polymorphic_ctype', 'is_trash', 'trashed_by', 'trashed_at') id = Field(attribute='id', column_name='id', widget=UUIDWidget()) conversion = fields.Field(column_name='conversion', attribute='conversion', widget=widgets.ForeignKeyWidget( StudentConversion, 'inner_id')) course = fields.Field(column_name='mata_kuliah', attribute='course', widget=widgets.ForeignKeyWidget(Course, 'old_code'))
class WorkcenterProposalResource(resources.ModelResource): name = Field(attribute='name', column_name='workcenter') warehouse_id = Field(attribute='warehouse_id', column_name='warehouse', widget=widgets.ForeignKeyWidget(Warehouse, 'name')) subgroup_id = Field(attribute='subgroup_id', column_name='subgroup', widget=widgets.ForeignKeyWidget(Subgroup, 'name')) class Meta: model = WorkCenter skip_unchanged = True report_skipped = True def save_instance(self, instance, using_transactions=True, dry_run=False): try: super().save_instance(instance, using_transactions, dry_run) except IntegrityError: pass