У меня есть модель, которая имеет уникальную общую взаимосвязь внешнего ключа:
class Contact(models.Model):
...
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey()
class Meta:
unique_together = ('content_type', 'object_id',)
означает, что a Contact может принадлежать только одному объекту. Обычно, когда я хочу изменить отношения, я могу сделать
class Person(models.Model):
...
contacts = generic.GenericRelation(Contact)
и вызов person.contacts.all() даст мне все объекты. Поскольку в моей ситуации когда-либо будет возвращен только один Contact, есть ли лучший способ доступа к этому объекту в обратном порядке?
p.s. Я мог написать person.contact.all()[0], но должен быть более чистый подход