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

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

Азиз

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

Tom

как сделать так, чтобы колонка id обращала внимания на удаленные посты.
А зачем Вам это?
Колонка id - как Вы правильно написали "(первичный ключ)" - внутреняя колонка СУРБД.
Какая Вам разница - какой номер (число) в данной колонке записан?

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

Азиз

Green Team
30.05.2018
224
74
BIT
0
А зачем Вам это?
Колонка id - как Вы правильно написали "(первичный ключ)" - внутреняя колонка СУРБД.
Какая Вам разница - какой номер (число) в данной колонке записан?

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

Азиз

Green Team
30.05.2018
224
74
BIT
0
А что происходит?
когда пользователь, нажимает например, на 'дальше', то он перемешался на статью где id = id + 1 (счет id будет с начала будет равен = 1), но когда я удаляю например, статью с id = 3, и пользователь переходит на статью с id == 2 на id == 3 , то выдаётся ошибка, и я , что я хочу сделать так, чтобы счёт перескакивал отсутствующий пост, но не знаю как :D
 
T

Tom

А вы отслеживаете место, где
??
Если "Да", то там и нужно поправить алгоритм - один из вариантов - проверка "А есть ли строка с "id + 1" и не превышает ли id макс значение (в реале сначала проверка на макс значение...))
 

Азиз

Green Team
30.05.2018
224
74
BIT
0
А вы отслеживаете место, где

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

Tom

как воссоздать это
Что именно "ЭТО"?
Вы не можете найти место, где "id + 1"?
Или не знаете как провести проверку: "Существует ли строка с данным id?

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

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