Почему первичный ключ пропускается при импорте данных из файла django - PullRequest
0 голосов
/ 21 апреля 2020

Я установил django -import-export.

Добавлен в установленные приложения.

У меня есть models.py

class Book_Reader(models.Model):
    Name = models.CharField(max_length = 200)
    Age = models.IntegerField()

class Book_info(models.Model):
    Book_Reader_id = models.ForeignKey(Book_Reader, on_delete=models.CASCADE)
    Book = models.CharField(max_length = 200)
    Publisher = mmodels.CharField(max_length = 200)

Я добавил это в свой admin.py, который выглядит так

from django.contrib import admin
from .models import Book_Reader
from .models import Book_info
from import_export.admin import ImportExportModelAdmin


admin.site.register(Book_Reader)

@admin.register(Book_info)
class ViewAdmin(ImportExportModelAdmin):
    pass

Я не знаю, правильно ли я это делаю или нет. Но после этого я открываю админ и в правом верхнем углу появляется кнопка импорта и экспорта.

Я просто нажимаю на импорт. выберите файл .xlsx и загрузите.

В этом файле .xlsx есть данные, подобные этим

id    Book_id    Book           Publisher
      1          someone        some Publisher
      1          book           Publisher name2
      2          some data      some other data
      2          data           data          

Я оставляю id пустым, поскольку Djna go принимает его по умолчанию.

И я вручную добавил Book_reader (добавил 2 читателя)

Теперь моя проблема ...

Когда я не загрузил ни одного файла, последний идентификатор (первичный ключ) равнялся 4 в Book_info .

После добавления этого файла .xlsx, содержащего 4 данных.

Я вижу, что мой первичный ключ начинается с 9. Это означает, что все мои первичные ключи имеют вид (1,2,3,4, 9,10,11,12).

Итак, я снова добавил тот же файл, и то же самое происходит, когда он пропускает точно такой же номер первичного ключа, который был у меня в файле .xlsx.

Я попытался изменить номер записи в файле .xlsx от 4 до 10, и я вижу, что он пропустил 10 идентификаторов и затем начинает.

Это нормально или я что-то не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...