Как сделать сложный запрос к базе данных в Django
Я хочу получить данные из моей БД SQLite.
Мои модели:
class Group(models.Model):
groupName = models.CharField(max_length=100)
description = models.CharField(max_length=255)
inviteKey = models.UUIDField(default=uuid.uuid4,
unique=True,
editable=False)
createdAt = models.DateTimeField(auto_now_add=True)
updatedAt = models.DateTimeField(auto_now=True)
deletedAt = models.DateTimeField(auto_now=True)
class Members(models.Model):
userId = models.ForeignKey(User, on_delete=models.CASCADE)
groupId = models.ForeignKey(Group, on_delete=models.CASCADE)
isAdmin = models.BooleanField(default=False)
А также встроить пользователей.
Мне нужно отобразить все группы, в которых состоит текущий пользователь. Для этого мне нужно построить запрос. Чтобы избежать отношений "многие-ко-многим", я создал таблицу "Members" для управления членами группы.
Что я пробовал
def getGroups(request):
currentUserId = request.user.id
# 1. Get all groups where currentUser is member.
groups = Members.objects.filter(userId_id = currentUser.id) # this always return 3 object which is wrong.
# by that filter doesn't work
# other steps ..
return render(request, 'group/allGroups.html')
Моя таблица членов:
Моя таблица групп: