您应该在Django中使用contentypes框架。
这里有一个通用关系的示例:https :
//docs.djangoproject.com/en/1.8/ref/contrib/contenttypes/#generic-
relations 对于您的要求,它可能看起来像这样:
from django.db import modelsfrom django.contrib.contenttypes.fields import GenericForeignKeyfrom django.contrib.contenttypes.models import ContentTypeclass 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">


