Хранить GenericForeignKey content_type в другой модели? - PullRequest
0 голосов
/ 07 апреля 2010

У меня типичная ситуация определения / экземпляра в моём моделировании данных.Я пытаюсь сохранить content_type для GenericForeignKey в другой модели (модели определения), например, так:

class IndicatorFieldInstance(models.Model):
    definition = models.ForeignKey(IndicatorField)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey(definition.content_type, 'object_id')
    indicator_instance = models.ForeignKey(IndicatorInstance)

Я также пробовал это так:* Ни один из этих методов не работает.Можно ли этого добиться?

Для справки вот определение модели:

class IndicatorField(models.Model):
    name = models.CharField(max_length='255')
    content_type = models.ForeignKey(ContentType)
    indicator = models.ForeignKey(Indicator)

Спасибо, Пит

1 Ответ

1 голос
/ 07 апреля 2010

Если вы не против сделать поиск самостоятельно, то вам даже не нужно GenericForeignKey. Просто сделайте это свойство, которое выполняет поиск из соответствующих полей и возвращает модель. Вы потеряете любую обратную функциональность, если не будете больше работать, но в большинстве случаев это не то, о чем заботятся.

...