Bonjour
j'ai cree une base de donnees materiaux dont voici le model
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class Category(models.Model): name = models.CharField(_('name'), max_length=50) slug = models.SlugField() description = models.TextField(_('description'), blank=True) parent = models.ForeignKey('self', null=True, blank=True, verbose_name=_('parent category'), related_name='children') class Material(models.Model): name = models.CharField(_('name'), max_length=50) description = models.TextField(_('description'), blank=True) slug = models.SlugField() category = models.ForeignKey(Category, verbose_name=_('category')) created = models.DateField(_("Date de creation"), auto_now_add=True)
je veux pouvoir acceder
soit a l'ensemble des materiaux de la base
soit a une categorie particuliere
j'utilise pour ceci un menu deroulant pour aller selectionner des options de filtrage
ce menu appelle une fonction (specifique du filtrage) du module views
si je veux visualiser l'ensemble des materiaux
dans ma fonction, je declare
data1 = Material.objects.all()
et si je veux acceder a la categorie 'ceramique', je declare
data1= Material.objects.filter(category__name= 'ceramique')
y a t 'il moyen d'acceder a un filtrage particulier sans etre obligé de declarer explicitement la categorie ??
(et de faire appel a une fonction differente pour chaque filtrage)
Partager