PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Django моделира един външен ключ към много таблици

Трябва да използвате рамката contentypes в Django.

Тук има пример за обща връзка:https://docs.djangoproject.com/en/1.8/ref/contrib/contenttypes/#generic-relations За вашето изискване може да изглежда така:

from django.db import models
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType

class Status(models.Model):
    request_type = models.ForeignKey(ContentType)
    request_id = models.PositiveIntegerField()
    request = GenericForeignKey('request_type', 'request_id')

След това можете да направите нещо като следното:

status1 = Status(request=Request1("foo"))
status1.save()
status2 = Status(request=Request2("bar"))
status2.save()

status1.request // <Request1 "foo">
status2.request // <Request2 "bar">



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да надстроите PostgreSQL 11 до PostgreSQL 12 с нулев престой

  2. Обединете таблица и регистър на промените в изглед в PostgreSQL

  3. Импортиране на компресиран CSV файл в PostgreSQL

  4. Възможно ли е да се посочи схемата при свързване към postgres с JDBC?

  5. postgresql - sql - брой "истински" стойности