• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Неправильный id в Django

Азиз

Green Team
30.05.2018
224
74
Здравствуйте дорогие форумчане, у меня возник вот такой вопросик:
Когда я создаю новую модель в джанго (таблицу), то к ней автоматически присваивается колонка id (первичный ключ), например я создал таблицу ''посты", и в нем добавил три поста, когда я удалю первый пост (разумеется с id=1) - то дальше колонка id, идет не обращая внимания на удаленный пост (то есть, 2 и 3, на отсутствие первого id он внимания не обращает), как это исправить, то есть как сделать так, чтобы колонка id обращала внимания на удаленные посты. Извините если неправильно вопрос сформулировал)
 
как сделать так, чтобы колонка id обращала внимания на удаленные посты.
А зачем Вам это?
Колонка id - как Вы правильно написали "(первичный ключ)" - внутреняя колонка СУРБД.
Какая Вам разница - какой номер (число) в данной колонке записан?

Можно сказать больше:
- таблица может работать в режиме "сущность": например, таблица содержит ФИО работников.
Если Вы внесли запись "Иванов". А затем ее удалили. А потом опять внесли запись "Иванов", то режим "Сущность" позволяет системе СУРБД понимать, что "второй" Иванов - это НЕ первый Иванов (и не подставлять второго Иванова во все поля, где был внесен первый Иванов)
 
  • Нравится
Реакции: Азиз
А зачем Вам это?
Колонка id - как Вы правильно написали "(первичный ключ)" - внутреняя колонка СУРБД.
Какая Вам разница - какой номер (число) в данной колонке записан?

Можно сказать больше:
- таблица может работать в режиме "сущность": например, таблица содержит ФИО работников.
Если Вы внесли запись "Иванов". А затем ее удалили. А потом опять внесли запись "Иванов", то режим "Сущность" позволяет системе СУРБД понимать, что "второй" Иванов - это НЕ первый Иванов (и не подставлять второго Иванова во все поля, где был внесен первый Иванов)
На сайте внизу будет 2 кнопки, назад и дальше, и когда например, нажимают на кнопку 'дальше' то выводился последующий пост, и я решил сделать это (перемещение) с помощью колонки id, но из-за этой проблемы не могу осуществить это
 
А что происходит?
когда пользователь, нажимает например, на 'дальше', то он перемешался на статью где id = id + 1 (счет id будет с начала будет равен = 1), но когда я удаляю например, статью с id = 3, и пользователь переходит на статью с id == 2 на id == 3 , то выдаётся ошибка, и я , что я хочу сделать так, чтобы счёт перескакивал отсутствующий пост, но не знаю как :D
 
А вы отслеживаете место, где
??
Если "Да", то там и нужно поправить алгоритм - один из вариантов - проверка "А есть ли строка с "id + 1" и не превышает ли id макс значение (в реале сначала проверка на макс значение...))
 
А вы отслеживаете место, где

??
Если "Да", то там и нужно поправить алгоритм - один из вариантов - проверка "А есть ли строка с "id + 1" и не превышает ли id макс значение (в реале сначала проверка на макс значение...))
Вот вот имено то , но в мою тупую голову идеи как воссоздать это не приходят
 
Последнее редактирование:
как воссоздать это
Что именно "ЭТО"?
Вы не можете найти место, где "id + 1"?
Или не знаете как провести проверку: "Существует ли строка с данным id?

Вообще-то все выше указанное - это внутренние механизмы Django. (т.е. "обычно" не требуется переписывать внутренние механизмы MS SQL или СУРБД подобного уровня... Хотя Постгрес и ряд других позволяют "копаться" во внутренностях...
Что выдают поисковики?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!