Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Как сделать уникальные записи в БД в пределах пользователя? [RSS Feed]

#1 Дек. 20, 2012 00:04:36

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Как сделать уникальные записи в БД в пределах пользователя?

Если я вставляю параметр unique в поле модели link = models.CharField(_('Link'), unique=True, max_length=150), то форма не проходит валидацию, если такой link уже есть в БД.

В случае с unique_together = ('owner', ‘link’) форма проходит валидацию, даже если такое значение уже есть, а ломается код в момент сохранения экземпляра объекта.

Форма создано от модели через ModelForm.
Про что говорит ошибка я уж наверно таки понял…
Видимо под этот случай стандартного поведения валидации нету.

Офлайн

#2 Дек. 20, 2012 09:12:21

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Как сделать уникальные записи в БД в пределах пользователя?

buddha
Можно ссылку на документацию, где про это написано(про свою валидацию)? Мне проще будет сориентироваться.
https://docs.djangoproject.com/en/dev/ref/forms/validation/

Офлайн

#3 Дек. 20, 2012 12:33:58

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Как сделать уникальные записи в БД в пределах пользователя?

buddha
Видимо под этот случай стандартного поведения валидации нету.
Не хотите подумать почему?

Если вы будете писать свою валидацию, то она будет делать точно то же, что и СУБД при проверке уникальности.
Как вы думаете, чья система сделает такую проверку эффективнее и почему?



Офлайн

#4 Дек. 20, 2012 13:06:40

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Как сделать уникальные записи в БД в пределах пользователя?

Lexander
Не хотите подумать почему?
Думал… Если бы дошло, то не писал бы.
К чему вопрос, потролить?

Офлайн

#5 Дек. 20, 2012 13:39:26

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Как сделать уникальные записи в БД в пределах пользователя?

Здесь не Вконтактике, чтобы троллингом заниматься.
Да и тратить собственное время на троллинг - себя не уважать.

По делу и серьезно.
У вас есть приличный пробел в знаниях, касающийся работы баз данных.
Как вы сами могли убедиться на вашей текущей задаче, возможности Джанго для облегчения работы с БД ограничены и не всегда позволяют абстрагироваться от БД.
Я рекомендую вам пройти хотя бы онлайн курс по БД.
На вашем месте я бы уделил особое внимание на принцип построения вспомогательных механизмов СУБД: разных типов индексов для разных типов данных, внешних ключей и ограничений.
Как устроены, как и где хранятся, в каких операциях и как используются СУБД при множественном доступе к БД.



Офлайн

#6 Дек. 20, 2012 13:42:59

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Как сделать уникальные записи в БД в пределах пользователя?

Буду пилить) Не всё сразу… а хочется.

Офлайн

  • Начало
  • » Django
  • » Как сделать уникальные записи в БД в пределах пользователя?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version