PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Django mô hình một khóa ngoại cho nhiều bảng

Bạn nên sử dụng khung contentypes trong Django.

Có một ví dụ cho mối quan hệ chung chung ở đây:https://docs.djangoproject.com/en/1.8/ref/contrib/contenttypes/#generic-relationsĐối với yêu cầu của bạn, nó có thể trông giống như sau:

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')

Sau đó, bạn có thể làm như sau:

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. Làm thế nào để sao lưu cơ sở dữ liệu postgresql từ bên trong psql?

  2. lấy bảng JOIN dưới dạng mảng kết quả với PostgreSQL / NodeJS

  3. Cách liệt kê Cơ sở dữ liệu và Bảng trong PostgreSQL

  4. Cách so sánh các mảng trong PostgreSQL

  5. Các hàng trùng lặp trong một bảng khóa chính.