PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

django come definire modelli per tabelle da molti a molti esistenti nel database postgresql

Definisci il ManyToManyField su uno dei tuoi modelli (es. Sample ) specificando un through opzione come documentato qui :

class Sample(models.Model):
    id = ...
    containers = models.ManyToManyField(Container, through='JoinSampleContainer', through_fields=('sample_id', 'container_id'),
        related_name='samples')

Nota:dovresti nominare i campi nei tuoi modelli per la leggibilità (e utilizzare db_column per specificare la colonna DB utilizzata). Usa id invece di sample_id , è molto più leggibile usare sample.id invece di sample.sample_id . E usa sample invece di sample_id , risp container invece di container_id sul modello passante.