[Python] Django ForeignKey escludere elemeni con limit_choices_to
Daniele Varrazzo
piro a develer.com
Mar 5 Nov 2013 13:08:24 CET
On 2013-11-05 11:25, Zanon Samuele wrote:
> Ciao a tutti. Volevo sapere se e come posso escludere un insieme di
> elementi nella maschera dell'amministrazione in un campo
> OneToOneField.
> Ovvero, questo è la mia classe:
>
> class Info(models.Model):
> volontario = models.OneToOneField('Volontari')
> data_stampa_tesserino = models.DateField(blank=True, null=True)
> n_attestato = models.CharField(max_length=20, blank=True,
> null=True)
> tessera_socio = models.CharField(max_length=20, blank=True,
> null=True)
> data_tessera_socio = models.DateField(blank=True, null=True)
> data_esame = models.DateField(blank=True, null=True)
> provenienza = models.CharField(max_length=255, blank=True,
> null=True)
>
> def __unicode__(self):
> return '%s' % (self.volontario)
>
> class Meta:
> verbose_name = u'Info'
> verbose_name_plural = u'Info'
> ordering = ['volontario']
>
> In pratica io vorrei che nel campo "volontario" apparissero solamente
> quei
> volontari che NON sono ancora stati inseriti nella tabella, estraendo
> la
> lista dal model chiamato "Volontari".
>
> Sostanzialmente dovrebbe essere eseguita una query del tipo:
> Volontario.objects.exclude(pk__in=Info.objects.all())
Prova a dare un'occhiata ai Manager personalizzati
('Volontario.objects' è il manager di default)
https://docs.djangoproject.com/en/dev/topics/db/managers/#django.db.models.Manager
in particolare a use_for_related_fields.
-- Daniele
Maggiori informazioni sulla lista
Python