Я сделал это в моих представлениях:
Чтобы сериализовать данные, которые я сделал:
@login_required
@product_1_activation
def getcompanyObject(request, pk):
company_details = get_object_or_404(company, pk=pk)
all_objects = list(Company.objects.filter(pk=pk)) + list(Group1.objects.filter(Company=company_details.pk)) + list(Ledger1.objects.filter(Company=company_details.pk)) + list(Journal.objects.filter(Company=company_details.pk)) +
data = serializers.serialize('json', all_objects)
data = json.dumps(json.loads(data), indent=4)
response = HttpResponse(data , content_type='application/json')
response['Content-Disposition'] = 'attachment; filename={}-{}.json'.format(company_details.Name,datetime.now())
return response
И затем я попытался:
from django.core.management import call_command
@login_required
def company_upload(request):
if request.method == 'POST':
new_company = request.FILES['myfile']
obj_generator = serializers.json.Deserializer(new_company)
for obj in obj_generator:
call_command('loaddata', obj, verbosity=0)
return render(request, 'company/import.html')
Это похоже наpython manage.py loaddata
.
Но когда я пытаюсь выполнить это, я получаю следующую ошибку:
Problem installing fixture '<DeserializedObject: company': company(pk=87)> is not a known serialization format.
Может кто-нибудь сказать мне, почему это происходит? Если в моем коде есть ошибки, пожалуйста,помогите исправить мои ошибки.
Спасибо