У меня есть три модели, которые очень похожи друг на друга, и у всех есть внешний ключ к родительской модели. Давайте назовем их Applet1
, Applet2
и Applet3
, и все они будут указывать на AppletGroup
.
Applet1
, а Applet2
имеет поля applet_group
, то есть ForeignKey
, но Applet3
не управляется моим проектом, поэтому его поля остаются такими же, как поля, которые есть у управления проектом для этой модели.
Итак, я создал дополнительную модель Applet3AppletGroup
class Applet3AppletGroup(models.Model):
applet_group = models.ForeignKey(AppletGroup, on_delete=models.CASCADE, related_name="applet_3")
applet_3 = models.OneToOneField(Applet3, on_delete=models.CASCADE, related_name="applet_group_fk")
class Meta:
indexes = [models.Index(fields=["applet_group", "applet_3"])]
И это былоработая так в течение довольно долгого времени. Но я нахожу это непоследовательным, поскольку прямо сейчас для доступа к applet_group
из Applet1
и Applet2
вы просто получаете доступ к .applet_group
, но для доступа к нему из Applet3
я должен использовать applet_group_fk__applet_group
.
Я началинтересно, можно ли использовать related_name=""
в OneToOneField
?