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,
попробовал через extra, но там я не понимаю логику действия, если делаешь полный селект вылезает ошибка что количество строк(row)больше одной, а вставить текущий 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))