@bituke

Как использовать оператор or в функции filter?

Я понимаю, что это не делается так как я хочу сделать)
Я хочу получить все объекты, в которых юзер является либо отправителем, либо получателем.
модель:
class Dialogue(models.Model):
	sender = models.ForeignKey(User, related_name="user_sender", on_delete=models.CASCADE)
	reciever = models.ForeignKey(User, related_name="user_reciever", on_delete=models.CASCADE)
	created = models.DateTimeField(auto_now_add=True)


Что я хочу сделать:
Dialogue.objects.filter(sender=request.user or reciever=request.user)

Как то так) Как это решается?
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
from django.db.models import Q
q1 = Q(sender=request.user)
q2 = Q(reciever=request.user)
D = Dialogue.objects.filter(q1|q2)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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