У меня есть модель, которая имеет уникальную общую взаимосвязь внешнего ключа:
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]
, но должен быть более чистый подход