У меня есть две модели класса, как это:Использование select_related для разделенных запятыми поля
class Problem(models.Model):
owner = models.ForeignKey(User)
services = models.CommaSeparatedIntegerField(max_length=200)
class Services(models.Model):
name = models.CharField(max_length=50)
...
Как вы видите, в модели задачи я храню идентификаторы услуг в запятую поле. Например, чтобы решить эту проблему, мы должны выполнить следующие службы: «1,2,3». Я хочу показать пользователю информацию о проблемах и связанных с ними сервисах. Для этого я должен присоединиться к таблице «Проблема к услугам», но я не знаю, как это сделать. Подумайте, что у меня ограниченное количество сервисов, определенных супер-администратором. например, у меня 150 служб.
Я не хочу использовать ManyToManyField, потому что, когда я могу использовать поле, разделенное запятой, для хранения сервисов, почему я использую другую таблицу? –
Duh - чтобы вы могли использовать его для соединений, select_related и так далее. Если вы хотите, чтобы Django и база данных выполняли вашу работу за вас, вам нужно сказать им, что что-то существует во многих отношениях. И почему поле с длиной 200 макс длины должно интерпретироваться как целые числа, разделенные запятой, лучше, чем другая таблица? – RemcoGerlich
Итак, мы не разделили запятую на поле отношения в django? Итак, вы предлагаете использовать другую таблицу в этой ситуации? –