PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Django, wie man Modelle für viele bis viele vorhandene Tabellen in der Postgresql-Datenbank definiert

Definieren Sie das ManyToManyField auf einem Ihrer Modelle (z. B. Sample ) durch Angabe eines through Option als hier dokumentiert :

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

Hinweis:Sie sollten die Felder in Ihren Modellen zur besseren Lesbarkeit benennen (und db_column verwenden um die verwendete DB-Spalte anzugeben). Verwenden Sie id statt sample_id , es ist viel besser lesbar, sample.id zu verwenden anstelle von sample.sample_id . Und verwenden Sie sample statt sample_id , bzw. container statt container_id auf dem durchgehenden Modell.