#django
Вопрос:
У меня есть две модели. Первый:
class KvantMessage(models.Model):
text = models.TextField(blank=True)
style_text = models.TextField(blank=True)
receivers = models.ManyToManyField(MailReceiver)
date = models.DateField(default=timezone.now)
files = models.ManyToManyField(FileStorage, blank=True)
title = models.CharField(max_length=120, default='Письмо')
sender = models.ForeignKey(KvantUser, on_delete=models.CASCADE, related_name='sender')
И второй:
class ImportantMail(models.Model):
user = models.ForeignKey(KvantUser, on_delete=models.CASCADE)
mail = models.ForeignKey(KvantMessage, on_delete=models.CASCADE)
Вопрос в том, как получить все экземпляры писем как «КвантМайлы» из «ImportantMail», где пользователь равен некоторому пользователю.
P.S. Надеюсь, вы поняли мой вопрос
Ответ №1:
Вы можете .filter(…)
[Django-doc] с:
KvantMessage.objects.filter(importantmail__user=some_user)
Можно использовать двойные подчеркивания ( __
) для просмотра «сквозных» отношений.
Комментарии:
1. Это не то, что я ищу. Я хочу получить все экземпляры KvantMails из поданных «писем»
2. @user18075594: ответ был отредактирован на основе того, что я думаю, это вопрос после уточнения. Теперь он фильтрует
KvantMessage
s (Я полагаю, вы имели в видуKvantMessage
вместоKvantMail
этого )?3. Да, теперь это, кажется, работает. Большое вам спасибо