如何过滤CustomerSectionResource模型?在我的例子中,所有数据保存在excel中的数据库导出中,我只想选择某些数据在excel中导出。我想像这样过滤
例如。
company = FmCustomerUsers.objects.filter(user=request.user.id)
obj = FmCustomerSection.objects.filter(
fmCustomerID__company_name__in=company.values_list('fmCustomerID__company_name'))多么?帮我伙计们..。
resources.py
class FmCustomerSectionResource(resources.ModelResource):
fmCustomerID = fields.Field(attribute='customer', column_name='customer',
widget=ForeignKeyWidget(FmCustomer))
class Meta:
model = FmCustomerSection
fields = ('fmCustomerID', 'section', 'inputdate', 'inputBy', 'modifyDate', 'modifyBy', 'status')views.py
from tablib import Dataset
from .resources import FmCustomerSectionResource
def import_Section(request):
if request.method == 'POST':
file_format = request.POST['file-format']
company = FmCustomerUsers.objects.filter(user=request.user.id)
product_resource = FmCustomerSectionResource.objects.filter(
fmCustomerID__company_name__in=company.values_list('fmCustomerID__company_name'))
dataset = Dataset()
new_city = request.FILES['importData']
if file_format == 'XLS':
imported_data = dataset.load(new_city.read(), format='xls')
result = product_resource.import_data(dataset, dry_run=True)
elif file_format == 'CSV':
imported_data = dataset.load(new_city.read(), format='csv')
# Testing data import
result = product_resource.import_data(dataset, dry_run=True)
if not result.has_errors():
# Import now
product_resource.import_data(dataset, dry_run=False)
return redirect('Section')
def export_Section(request):
if request.method == 'POST':
# Get selected option from form
file_format = request.POST['importData']
product_resource = FmCustomerSectionResource()
dataset = product_resource.export()
if file_format == 'CSV':
response = HttpResponse(dataset.csv, content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="exported_data.csv"'
return response
elif file_format == 'XLS':
response = HttpResponse(dataset.xls, content_type='application/xls')
response['Content-Disposition'] = 'attachment; filename="exported_data.xls"'
return response
return redirect('Section')发布于 2020-11-09 12:16:35
from tablib import Dataset
from .resources import FmCustomerSectionResource
def import_Section(request):
if request.method == 'POST':
file_format = request.POST['file-format']
company = FmCustomerUsers.objects.filter(user=request.user.id)
product = FmCustomerSection.objects.filter(
fmCustomerID__company_name__in=company.values_list('fmCustomerID__company_name'))
product_resource = FmCustomerSectionResource()
dataset = product_resource .exclude(product)
new_city = request.FILES['importData']
if file_format == 'XLS':
imported_data = dataset.load(new_city.read(), format='xls')
result = product_resource.import_data(dataset, dry_run=True)
elif file_format == 'CSV':
imported_data = dataset.load(new_city.read(), format='csv')
# Testing data import
result = product_resource.import_data(dataset, dry_run=True)
if not result.has_errors():
# Import now
product_resource.import_data(dataset, dry_run=False)
return redirect('Section')
def export_Section(request):
if request.method == 'POST':
# Get selected option from form
file_format = request.POST['importData']
product_resource = FmCustomerSectionResource()
dataset = product_resource.export()
if file_format == 'CSV':
response = HttpResponse(dataset.csv, content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="exported_data.csv"'
return response
elif file_format == 'XLS':
response = HttpResponse(dataset.xls, content_type='application/xls')
response['Content-Disposition'] = 'attachment; filename="exported_data.xls"'
return response
return redirect('Section')https://stackoverflow.com/questions/64346341
复制相似问题