У меня есть 4 модели в упрощенном дизайне
class modelA(models.Model):
name = models.CharField()
class modelsUser(model.Model):
username = models.CharField()
class bridge(models.Model):
user = models.ForeignKey(modelUser, on_delete=models.CASCADE, related_name='bridges')
modelA = models.ForeignKey(modelA, on_delete=models.CASCADE, related_name='bridges')
class subModelA(models.Model):
modelA = models.ForeignKey(modelA, on_delete=models.CASCADE, related_name='subModelAs')
value = models.IntegerField()
class subModelB(models.Model):
modelA = models.ForeignKey(modelA, on_delete=models.CASCADE, related_name='subModelBs')
text = models.TextField()
Я пытаюсь получить все subModelB
с и subModelA
с, которые предназначены для modelA
с, для которых дано modelUser
есть bridge
.
Я начал с этого:
user = modelUser.objects.get(pk=1)
bridges = user.bridges.all()
Я думал примерно так:
subModelBs = subModelB.objects.filter(modelA__in=bridges__modelA)
, но к сожалению, это не работает из-за ошибки, __modelA is not defined
.
Есть ли какой-нибудь правильный способ сделать это?