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

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a