Django: получить все родительские данные на основе поля в модели родительского и внешнего ключа - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть две модели:

class Post(models.Model):
    user = models.TextField()
    name = models.TextField(max_length=1024)
    created = models.DateTimeField(False)

    class Meta:
        ordering = ['-created']

    def save(self, *args, **kwargs):
        if not self.id:
            self.created = timezone.now()
        return super(Post, self).save(*args, **kwargs)

и

class PostShared(models.Model):
    post = models.ForeignKey(Post, related_name='postshared', on_delete=models.CASCADE)
    is_accepted = models.BooleanField(default=False)
    shared_to = models.TextField(max_length=50)
    shared_by = models.TextField(max_length=50)

Пользователь может отправить сообщение любому количеству пользователей.Теперь, учитывая имя пользователя, я хотел бы получить сведения о сообщениях всех сообщений, которые мог создать данный пользователь, или сообщений, которые были предоставлены ему / ей.

Я пытался

Post.objects.filter(postshared__isnull=False,postshared__shared_to='user1',user='user1')

Но я получаю только сообщения, которые были предоставлены пользователю, а не сообщения, созданные пользователем.

...