Я хотел бы точно такую же вещь, как django.contrib.contenttypes.generic.GenericForeignKey
, но OneToOne
вместо ForeignKey
. Я подумал, что легкий (хотя и незначительно неэлегантный) обходной путь должен был добавить unique=True
в поле, о котором идет речь, но это пробки.Как я могу создать и применить общее отношение OneToOne в django?
4
A
ответ
5
unique_together
?
Любая комбинация content_type
поля и ID
поле представляет собой уникальный идентификатор для одного объекта, следовательно, от 1 до 1.
http://docs.djangoproject.com/en/dev/ref/models/options/#unique-together
Я также имеющие один и тот же вопрос. Использование unique_together обеспечивает уникальность отношения в базе данных, но мне все еще нужно ссылаться на него как my_foreign_key.objects.all() [0]. Есть ли способ ссылаться на него так же, как my_foreign_key, как нормальное поле OneToOne? – duduklein
@ duduklein Вы можете свободно настраивать любые методы python для своего класса, например '@property def my_foreign_key (self) return foo' - в любом случае стандартная практика задавать новые вопросы, если вы не можете найти ответ. –
Это то, что я сделал (добавьте свойство). Спасибо, в любом случае – duduklein