我目前对通用键有疑问。我不知道如何轻松设置两个指向同一模型的 GenericRelation,如下所示:
假设我们有以下类:
class Pen(models.Model):
color = models.CharField(choices=COLORS)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
item = generic.GenericForeignKey('content_type', 'object_id')
class PencilCase(models.Model):
ballpoint_pens = generic.GenericRelation(Pen, related_name="ballpointpencil+")
fountain_pens = generic.GenericRelation(Pen, related_name="fountainpencil+")
问题是 Django 无法区分圆珠笔和喷泉笔。因此,正如预期的那样,每支笔都在 ballpoint_pens 列表中,并且在钢笔列表中。
有人对此有想法吗?