Ho la seguente classe che sto usando a pezzi Bookmark:Come posso attraversare una relazione generica inversa in un modello Django?
class BookmarkedItem(models.Model):
is_bookmarked = models.BooleanField(default=False)
user = models.ForeignKey(User)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey()
E sto definire una relazione generica inversa come segue:
class Link(models.Model):
url = models.URLField()
bookmarks = generic.GenericRelation(BookmarkedItem)
In uno dei miei punti di vista ho generare un set di query di tutti i collegamenti e aggiungere questo ad un contesto:
links = Link.objects.all()
context = {
'links': links
}
return render_to_response('links.html', context)
Il problema che sto avendo è come attraversare la relazione generica nel mio modello. Per ciascun collegamento, desidero poter controllare l'attributo is_bookmarked e modificare il pulsante aggiungi/rimuovi segnalibro a seconda che l'utente abbia già inserito o meno il segnalibro. È possibile farlo nel modello? O devo fare qualche ulteriore filtraggio nella vista e passare un altro queryset?