Django экспорт-импорт администратора
Я пытаюсь импортировать json файл в мою базу данных с помощью расширения Django export-import. но когда я пытаюсь импортировать, я получаю эту ошибку msg
"Номер строки: 1 - 'id' 20, 2, 1, CONTAINER1134, 26.30, 10, 1, 1, 3 Traceback (последний последний вызов): File "/Users/tiberiuminzat/.local/share/virtualenvs/redrock-planning-system-I02kV_z2/lib/python3.10/site-packages/import_export/resources.py", line 661, in import_row instance, new = self.get_or_init_instance(instance_loader, row) Файл "/Users/tiberiuminzat/.local/share/virtualenvs/redrock-planning-system-I02kV_z2/lib/python3.10/site-packages/import_export/resources.py", строка 353, in get_or_init_instance instance = self.get_instance(instance_loader, row) Файл "/Users/tiberiuminzat/.local/share/virtualenvs/redrock-planning-system-I02kV_z2/lib/python3.10/site-packages/import_export/resources.py", строка 340, in get_instance import_id_fields = [ Файл "/Users/tiberiuminzat/.local/share/virtualenvs/redrock-planning-system-I02kV_z2/lib/python3.10/site-packages/import_export/resources.py", строка 341, in self.fields[f] for f in self.get_import_id_fields() KeyError: 'id'"
models.py
class Subtask(models.Model):
subtaskID = models.IntegerField(primary_key=True, auto_created=True)
operationID = models.ForeignKey('Operation', on_delete=models.CASCADE)
assignee = models.ForeignKey('Employee', on_delete=models.CASCADE)
containerID = models.CharField(max_length=255)
containerWeightT = models.DecimalField(max_digits=6, decimal_places=2)
loadSeq = models.IntegerField()
moveTo = models.ForeignKey('MoveTo', on_delete=models.CASCADE)
stow = models.ForeignKey('Stow', on_delete=models.CASCADE)
status = models.ForeignKey(
'Status', on_delete=models.CASCADE)
resources.py
from import_export import resources
from redrock.models import Subtask
class SubtaskResource(resources.ModelResource):
class Meta:
model = Subtask
import_id_fields = ('subtaskID')
admin.py
class SubtaskAdmin(ImportExportModelAdmin):
list_display = ['subtaskID', 'operationID','assignee',
'containerID', 'containerWeightT', 'loadSeq', 'moveTo', 'stow', 'status']
list_editable = ['containerID', 'containerWeightT', 'loadSeq', 'status','assignee']
list_filter = ['operationID', 'status']
list_per_page = 10
def status(self, operation):
return operation.status.status
json
[{"subtaskID": 20, "operationID": 2, "assignee": 1,
"containerID": "CONTAINER1134", "containerWeightT": "26.30",
"loadSeq": 10, "moveTo": 1, "stow": 1, "status": 3}]