Джанго: Хранение упорядоченных, произвольных ссылок - PullRequest
0 голосов
/ 18 марта 2010

Я новичок в Django, и я не уверен, что то, что я хочу, возможно:

У меня есть несколько элементов, на которые я хочу, чтобы каждый AppUser (модель расширенного пользователя) мог ссылаться.

То есть, учитывая AppUser, я хочу иметь возможность извлечь его список элементов так, как AppUser выбрал их порядок. В общем, эти элементы фактически являются ссылками на что-то еще в базе данных, и это привело меня к одному из возможных решений:

Сохранение ключей для указанных объектов в CommaSeparatedIntegerField в AppUser. Таким образом, пользователь мог сохранить {7, 3, 232, 42, 1} в поле своих элементов, и ссылки, и их предпочтительный порядок будут сохранены. Тем не менее, это чувствует себя счастливым. Поскольку большинство бэкэндов БД хранят CommaSeparatedIntegerField как VARCHAR внутри, пользователь ограничен не только количеством объектов, но и количеством цифр в выбранных им элементах. Например. «Вы можете хранить 10 предметов, если вы выбираете предметы с itemID <10, но только 5 предметов, если 10 <itemID <100». </p>

(РЕДАКТИРОВАТЬ: Если это на самом деле не уродливый взлом, какие потери производительности для использования этого решения?)

Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 18 марта 2010

Используйте ManyToMany с , явно указанным в таблице , содержащей поле, дающее порядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...