有没有一种方法可以使用外键来引用不同类的对象
例如,我正在做的是:
Class discussion(models.Model):
id_discussion = models.CharField(db_column='id_Discussion', primary_key=True, max_length=100)
id_worker = models.ForeignKey('Worker', models.CASCADE, db_column='id_user', blank=True, null=True)
id_director = models.ForeignKey('Director', models.CASCADE, db_column='id_user', blank=True, null=True)
Class Message(models.Model):
#some other fields
id_sender = models.CharField(db_column='id_Sender', max_length=100, blank=True, null=True)
id_receiver = models.CharField(db_column='id_Receiver', max_length=100, blank=True, null=True)
id_discussion = models.ForeignKey('discussion', models.CASCADE, db_column='id_Discussion', blank=True, null=True)
我想把id_receiver和idüu sender转换成外键,我的问题是发送者可能是类“Worker”或类“Director”的对象。在
是的。您可以使用
GenericForeignKey
请参阅此处:https://docs.djangoproject.com/en/2.0/ref/contrib/contenttypes/#generic-relations
注意:这可能是相当低效的。阅读本文以了解更多关于它的信息https://lukeplant.me.uk/blog/posts/avoid-django-genericforeignkey/
相关问题 更多 >
编程相关推荐