Документацию по родовым отношениям в Django можно найти здесь https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#generic-relations
Вы можете получить доступ к content_object следующим образом:
linked_object = CommentInstance.content_object
Если вы хотите узнатьчто это за объект, вы можете задать его, используя type
, isinstance
или issubclass
, как вы можете это сделать с любым объектом в python.Попробуйте это
linked_object_type = type(linked_object)
Так что, если вы хотите делать разные вещи, основываясь на том, что вы игрок или игра, вы можете сделать что-то вроде
if isinstance(linked_object, Player):
# Do player things
elif isinstance(linked_object, Game):
# Do game things
else:
# Remember it might be something else entirely!
Я полагаю, вы надеялись здесьатрибуты CommentInstance
, называемые чем-то вроде player
или game
.Они не существуют - вы даже не знаете из того, что у вас есть выше в вашем models.py, что это определенно будет один из этих двух типов объектов.
PS Возможно, вы захотите изменить порядок вещей в вашемФайл models.py для размещения комментария перед двумя другими.