Size: a a a

Django [ru] #STAY HOME

2020 July 09

DT

Dan Tyan in Django [ru] #STAY HOME
может лучше все привести к int-у ?
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Rust Saiargaliev
А можно уточнить для чего нужно сие действие провернуть?
Никто не пользовался m2m fk , а все сохраняли в int, там проблема в том что в поле сохраняется id, которое потом ищется в двух моделях. Может получится ошибка , когда id будут одинаковые
источник

DT

Dan Tyan in Django [ru] #STAY HOME
те там хранится строка
и потом ищется в двух таблицах
где нашел то моё ?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Dennis Pashnev
Никто не пользовался m2m fk , а все сохраняли в int, там проблема в том что в поле сохраняется id, которое потом ищется в двух моделях. Может получится ошибка , когда id будут одинаковые
Для меня это выглядит как косяк в коде, который привел (возможно) к корявым данным.
Хорошим решением тут мне видится чистка данных и фикс связей (причем id->uuid здесь не нужен)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
возможно просто достаточно добавить доп поле uuid
которое не будет pk но по нему можно искать
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
а если uuid начнет совпадать?
источник

S

Shodmon in Django [ru] #STAY HOME
Можете просто показать связи моделей? Таблиц
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Наверное плохо объяснил
Есть 3 модели
Task
PersonalTask
Message

У Message есть поле task:int, куда записывается id одной из модели Task или PersonalTask
Ну и в контроллерах ищется по id эти таски. Проблема в том, что таска должна быть одна, а в некоторых случаях возвращаются 2
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Shodmon
Можете просто показать связи моделей? Таблиц
так говорит нет связи, просто ищет по обеим
источник

S

Shodmon in Django [ru] #STAY HOME
Nikolay Cherniy
так говорит нет связи, просто ищет по обеим
Так без констрантов, но есть говорит
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Nikolay Cherniy
а если uuid начнет совпадать?
Как такое возможно? 3.26*10¹⁶ уникальных же
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Dennis Pashnev
Как такое возможно? 3.26*10¹⁶ уникальных же
ну вероятность никуда не денется)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Dennis Pashnev
Наверное плохо объяснил
Есть 3 модели
Task
PersonalTask
Message

У Message есть поле task:int, куда записывается id одной из модели Task или PersonalTask
Ну и в контроллерах ищется по id эти таски. Проблема в том, что таска должна быть одна, а в некоторых случаях возвращаются 2
а большая необходимость разделения на две таблицы ?
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Shodmon
Так без констрантов, но есть говорит
Связь абстрактная, я вообще не уверен, что это можно назвать связью
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Dan Tyan
а большая необходимость разделения на две таблицы ?
Да, там разные поля
источник

DT

Dan Tyan in Django [ru] #STAY HOME
все ?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Тогда почему бы не сделать два FK поля, task_id и personal_task_id ?
источник

DP

Dennis Pashnev in Django [ru] #STAY HOME
Dan Tyan
все ?
Не все
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Чище и проще будет, чем везде в логике дергать базу два раза
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Rust Saiargaliev
Тогда почему бы не сделать два FK поля, task_id и personal_task_id ?
+++
источник