Конвертировать SQL-запрос в ORM-запрос - PullRequest
0 голосов
/ 04 июля 2019

У меня есть следующие модели

модели

class User(models.Model):
    ur_id = models.AutoField(primary_key=True)
    ur_mailid = models.CharField(max_length=100)
    ...

class User_info(models.Model):
    ui_id = models.AutoField(primary_key=True)
    # ui_iduser  = models.IntegerField()
    ui_iduser = models.ForeignKey(User, on_delete=models.CASCADE)
    ui_firstname = models.CharField(max_length=45)
    ui_lastname = models.CharField(max_length=45)
    ...

class User_group(models.Model):
    ug_id = models.AutoField(primary_key=True)
    ug_groupname = models.CharField(max_length=100)
    ...

class User_groupmember(models.Model):
    # ug_groupid = models.IntegerField()
    # ug_userid = models.IntegerField()
    ug_groupid = models.ForeignKey(User_group, on_delete=models.CASCADE)
    ug_userid = models.ForeignKey(User, on_delete=models.CASCADE)
    ...

Вот запрос SQL:

select 
      a.ur_id ur_id,
      c.ug_id ug_id,
      d.ui_mailid ui_mailid,
      d.ui_firstname ui_firstname,
      d.ui_lastname ui_lastname
    from user a
    LEFT OUTER JOIN 
        user_groupmember b ON a.ur_id = b.ug_userid
    LEFT OUTER JOIN 
        user_group c ON c.ug_id = b.ug_userid
    LEFT OUTER JOIN 
        user_info d ON d.ui_id = a.ur_id
    where a.ur_mailid = 'test@test.com' 

Мне нужно преобразовать его вORM Query.

Есть ли способ достичь этого без использования необработанного SQL?

Любая помощь приветствуется

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