45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
from import_export import resources, fields
|
|
from import_export.widgets import ForeignKeyWidget, ManyToManyWidget
|
|
|
|
from payments.models import Payment, DiscountCode
|
|
from events.models import Event
|
|
from users.models import User
|
|
|
|
class DiscountResource(resources.ModelResource):
|
|
event = fields.Field(
|
|
column_name='applicable_events',
|
|
attribute='applicable_events',
|
|
widget=ManyToManyWidget(Event, field='title', separator='||')
|
|
)
|
|
|
|
class Meta:
|
|
model = Event
|
|
fields = (
|
|
'id', 'code', 'type', 'value', 'max_discount', 'is_active',
|
|
'starts_at', 'ends_at', 'usage_limit_total', 'usage_limit_per_user',
|
|
'min_amount', 'applicable_events', 'created_at', 'updated_at',
|
|
'is_deleted', 'deleted_at'
|
|
)
|
|
export_order = fields
|
|
|
|
class PaymentResource(resources.ModelResource):
|
|
event = fields.Field(
|
|
column_name='event',
|
|
attribute='event',
|
|
widget=ForeignKeyWidget(Event, 'title')
|
|
)
|
|
user = fields.Field(
|
|
column_name='user',
|
|
attribute='user',
|
|
widget=ForeignKeyWidget(User, 'username')
|
|
)
|
|
|
|
class Meta:
|
|
model = Payment
|
|
fields = (
|
|
'id', 'event', 'user', 'base_amount', 'discount_code', 'discount_amount', 'amount',
|
|
'authority', 'status', 'red_id', 'card_pan', 'card_hash', 'verified_at', 'created_at',
|
|
'updated_at', 'is_deleted', 'deleted_at'
|
|
)
|
|
export_order = fields
|