Django Rest Framework - ошибка метания внешнего ключа

Представления - это выбор операторов, не более того. Представления не могут быть несколькими операторами. Если вы не можете получить это представление до одного оператора, попробуйте здесь здесь использовать функцию или процедуру.

Попробуйте это предложение для MYSQL с использованием объединения вместо набора.

JOIN    (SELECT @rank:= 0) r;

Вот пример непроверенного, я не уверен, что вы можете заказать по '#' в конце, но если вы можете, он будет сортировать все правильно по рангу:

CREATE VIEW S1_Bottom_Performer_AHT as (
SELECT @rank := @rank+1 AS '#', *
FROM
(SELECT         ei.SM,
                ei.TM,
                es.Month_Date,
                ei.emp_id,
                ei.DNAME,
                ei.STATUS,
                ei.SHIFT,
                ei.SKILL,
                ei.HIRE_DATE,
                ifnull(TIMESTAMPDIFF(MONTH, ei.HIRE_DATE, now()), '-') AS Tenure,
                ifnull(es.Call_Handled, '-') AS Call_Handled,
                ifnull(es.AHT, '-') AS AHT
FROM mtl_extended_info ei
LEFT OUTER JOIN
  ( SELECT es.Employee_ID,
           es.Month_Date,
           sum(es.Calls_Handled_Ct) AS Call_Handled,
           round((sum(es.I_Talk_Time_Sec) + sum(es.Hold_Time_Sec) + sum(es.I_Work_Time_Sec) + sum(es.I_AUX_Out_Time_Sec)) / sum(es.Calls_Handled_Ct)) AS AHT
   FROM cdl_agent_call_voume_gen es
   WHERE es.Month_Date = '2013-09-01'
   GROUP BY es.Employee_ID,
            es.Month_Date ) es ON es.Employee_ID = ei.emp_id
WHERE es.Month_Date = '2013-09-01'
  AND ei.Visible = 1
  AND ei.SKILL != 'RSD'
GROUP BY ei.emp_id
ORDER BY es.AHT DESC LIMIT 80)
) AS RESULTS
JOIN    (SELECT @rank:= 0) r; 
ORDER BY '#'

0
задан sneha salvi 5 March 2019 в 21:49
поделиться

1 ответ

Первым аргументом для полей внешнего ключа должна быть сама модель, а не строка модели (например, не «Team», а Team - аналогично для EmailTemplate)

 class TestSuite(models.Model):
     # Change this field's first argument from a string to the Team class
     team_name = models.ForeignKey(Team, on_delete=models.DO_NOTHING, db_column='team_name')
     suite_name = models.CharField(max_length=100)
     description = models.CharField(max_length=200, blank=True, null=True)
     schedule = models.CharField(max_length=100, blank=True, null=True)
     email_list_ok = models.CharField(max_length=200, blank=True, null=True)
     email_list_fail = models.CharField(max_length=200, blank=True, null=True)
     # Change this field's first argument from a string to the EmailTemplates class
     template_name = models.ForeignKey(EmailTemplates, on_delete=models.DO_NOTHING, db_column='template_name')

     class Meta:
         managed = False
         db_table = 'test_suite'
         unique_together = (('team_name', 'suite_name'),)
0
ответ дан pistolpete 5 March 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: