Форум сайта python.su
пытаюсь сделать сортировку по связаной таблице в которой должен быть фильтр
SELECT S.* FROM source S LEFT JOIN source_processing SP ON SP.source_id = S.id AND SP.oper_type = 'cloud_detection' ORDER BY label DESC GROUP BY S.id,
class SourceProcessing(models.Model): """ Обработка источника данных. """ task = models.ForeignKey('task.Task', db_column='task_id', blank=True, null=True) source = models.ForeignKey('Source', db_column='source_id') operation_type = models.ForeignKey('operation.OperationType', db_column='oper_type') operation_status = models.ForeignKey('task.StatusType', db_column='oper_status') log = models.ForeignKey('common.Log', blank=True, null=True, db_column='log_id') comment = models.CharField(max_length=200, db_column='comment', verbose_name='комментарий') label = models.CharField(max_length=10, db_column='label', verbose_name='метка', blank=True, null=True) result_type = models.ForeignKey('task.ResultType', db_column='result_type', blank=True, null=True) result_obj_id = models.IntegerField(blank=True, null=True, db_column='result_id') #################################### Source.objects.all().extra(select={'obj_sorting_value':''' SELECT SP.label FROM source S LEFT JOIN source_processing SP ON SP.source_id = S.id AND SP.oper_type = 'cloud_detection' AND S.id = %s '''}, params=["КАК СЮДА ВСТАВИТЬ source.id"] ).order_by(obj_sorting_value))
Отредактировано chaotism (Июнь 24, 2014 18:43:12)
Офлайн