Comment filtrer des objets avec un "author
" à partir d'un ensemble de "author
s" (User
s)? Les "objets" sont Post
s, ayant un author
(ForeignKey
à User
). Je suis assez perplexe par ceci, donc j'apprécierais l'aide avec lui. Bien sûr, on pourrait procéder de cette manière naïve, en les filtrant manuellement, mais cela rendrait la base de données très difficile. Merci quand même.Django - Comment filtrer les objets avec un "auteur" d'un ensemble d '"auteurs" (utilisateurs)?
EDIT: Liste des post:
class Post(models.Model):
'''A Post or a Status Update.
'''
content=models.CharField(max_length=200)
author=models.ForeignKey(django.contrib.auth.models.User, related_name="author")
tags=models.ManyToManyField(Tag)
replyTo=models.ManyToManyField(django.contrib.auth.models.User, related_name="replyTo")
# Snip model methods
Précision: Je suis en train de filtrer sur la base d'un ensemble d'utilisateurs et non un seul utilisateur (qui est trivialement facile à faire) quand = models.DateTimeField (auto_now = True)
Merci à tous ceux qui ont répondu à la question précédente. Maintenant, j'ai une dernière chose à demander:
extrait de code de UserProfile (connecté à l'utilisateur):
def get_updates():
return Post.objects.filter(author__in=(list(self.friends.all()) + [self]))
Est-ce la façon la plus efficace pour obtenir tous les messages d'un auteur et ses amis ? (Note: Ceci est une mise en œuvre naïve, car il ne gère pas la pagination, etc. Fera plus tard)
Je ne suis pas sûr de ce que vous demandez ici. Voulez-vous filtrer tous les objets 'Post' d'un' Author' donné ?? Ou voulez-vous trouver un «auteur» spécifique dans une liste de tous les «Auteurs»? –
@rishabh: Je pense que je viens de clarifier que ... – aviraldg
Pour la dernière partie de votre question, cela semble être une bonne façon de le gérer – Zach