Python Django:通过关系v2与m2m预取_related()

Python Django:通过关系v2与m2m预取_related(),python,django,many-to-many,Python,Django,Many To Many,我知道已经有类似的案例了,但我认为我的案例有点复杂,因为我有一个不同的切入点 这些是我的模型: class m_Interaction(models.Model): fk_ip = models.ForeignKey('m_IP', related_name="interactions") class m_User(models.Model): name = models.CharField(max_length=200) class m_IP(models.Model): fk

我知道已经有类似的案例了,但我认为我的案例有点复杂,因为我有一个不同的切入点

这些是我的模型:

class m_Interaction(models.Model):
  fk_ip = models.ForeignKey('m_IP', related_name="interactions")

class m_User(models.Model):
  name = models.CharField(max_length=200)

class m_IP(models.Model):
  fk_user = models.ForeignKey('m_User', related_name="ips" )

class m_Feature(models.Model):
  name = models.CharField(max_length=200)
  m2m_interaction = models.ManyToManyField(m_Interaction, related_name='features', through='m_Featurescore')

class m_Featurescore(models.Model):
  score = models.FloatField(null=False)
  fk_interaction = models.ForeignKey(m_Interaction, related_name='featurescore')
  fk_feature = models.ForeignKey(m_Feature, related_name='featurescore')
我从m_User开始,遵循m_IP上的反向关系到交互(m_交互)。然后,我想获得每个m_Featurescore.score,用于m_Feature的特定实例的每个交互

我的工作查询以性能方式访问至少所有交互:

m_User.objects.all().prefetch_related('ips__interactions')
但我无法找到正确的“prefetch_related”语句来访问这样的m_Featurescore.score

db_obj_interaction.featurescore.get(fk_feature=db_obj_feature).score
没有提出很多疑问

我已经尝试了以下几乎所有的组合:

'ips__interactions__features__featurescore'

有什么建议吗?

在noamk的帮助下,我在评论中找到了自己问题的答案:

我没有考虑在<代码> GbUnjultActudio中获取GET()方法。FukRealCyto.GET(FKyFrase= DbObjObjor)。 因此,我只是重新构造了代码,现在我不再需要get(),可以利用预取的好处


如果仍有人需要过滤,则应按照noamk的建议使用“ips\uuuuu交互功能评分”如何?另外,使用get()方法意味着您正在强制ORM进行查询。您需要使用all()方法来利用预取。如果需要筛选,请使用Prefetch()对象。@noamk perfect。谢谢