Django присоединяется к набору запросов на основе условия - PullRequest
0 голосов
/ 18 ноября 2018

Модели приведены ниже:

class Workspace(models.Model):
    wid = models.AutoField(primary_key=True, validators=[MinValueValidator(1000)])
    wname = models.CharField(max_length=100)
    created_time = models.DateTimeField(auto_now_add=True)


class Invitation(models.Model):
    iid = models.AutoField(primary_key=True, validators=[MinValueValidator(1000)])
    invite_to = models.ForeignKey(User, related_name="invitation_uid2", on_delete=models.CASCADE)
    workspace = models.ForeignKey(Workspace, related_name="invitation_wid", on_delete=models.CASCADE)
    created_time = models.DateTimeField(auto_now_add=True)

Мне нужно получить список рабочих пространств, основанный на инвайт_то

"выбрать * из рабочей области, в которой находится вид (выбрать рабочую область из приглашения, где Invite_to = 1)"

Приведенный выше запрос в типе ORM

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Как я уже говорил в комментариях, вы можете сделать это, используя QuerySet Джанго :

Workspace.objects.filter(invitation_wid__invite_to__id=1)
0 голосов
/ 18 ноября 2018

Если у вас есть идентификатор пользователя, вы можете использовать синтаксис двойного подчеркивания __ для фильтрации по отношениям:

workspaces = Workspace.objects.filter(invitation_wid__invite_to__id=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...