Уведомления

Группа в Telegram: @pythonsu

#1 Июль 13, 2012 10:01:03

Levelup
От:
Зарегистрирован: 2011-01-10
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Модели. Поиск.

Всем привет!

Имеются 4 модели, у всех есть поле id (varchar). Подскажите, пожалуйста, как лучше реализовать поиск конкретного id по всем моделям? На данный момент я импортирую 4 модели и циклом прохожусь по всем имеющимся id. Как-то совсем не айс. Есть же способы получше? Может использовать поле ManyToMany?

Спасибо.



Отредактировано Levelup (Июль 13, 2012 10:02:06)

Офлайн

#2 Июль 13, 2012 10:36:08

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Модели. Поиск.

Первое что пришло в голову: присвоить различным моделям разные виды id. Грубо говоря, id первой модели начинаются на 1, второй - на 2 и тд. Ну и сделать свой менеджер, который ищет лишь в одной модели, исходя из id. Причём тут m2m не понял :) Может, если подробнее расскажите про задачу и модели, найдутся другие варианты. Или ещё кто подскажет.



Офлайн

#3 Июль 13, 2012 10:45:54

Saturn
От:
Зарегистрирован: 2012-03-22
Сообщения: 164
Репутация: +  0  -
Профиль   Отправить e-mail  

Модели. Поиск.

Levelup
id (varchar)
странно, почему тип поля не integer.



Офлайн

#4 Июль 13, 2012 11:00:15

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Модели. Поиск.

А кто сказал, что поле id должно быть integer?



Офлайн

#5 Июль 13, 2012 11:24:52

Levelup
От:
Зарегистрирован: 2011-01-10
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Модели. Поиск.

Больше рассказывать собственно нечего.
Да, поиск осуществляется именно по первым буквам id, то есть, если P1234, то ищет в модели Product. Поэтому и не int, кстати. Но все же, хочется чего-то более утонченного:)



Отредактировано Levelup (Июль 13, 2012 11:25:47)

Офлайн

#6 Июль 13, 2012 23:00:20

Saturn
От:
Зарегистрирован: 2012-03-22
Сообщения: 164
Репутация: +  0  -
Профиль   Отправить e-mail  

Модели. Поиск.

fata1ex
А кто сказал, что поле id должно быть integer?
Я если честно, еще с таким поиском не сталкивался.
Но если правильно построить структуру БД то может и varchar здесь лишний.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version