我正在尝试找到一个能够返回具有特定ID的对象的解决方案。
我有这些模特:
class ModelB(models.Model):
customid = models.CharField(max_length=32)
<-- data -->
class ModelA(models.Model):
b = models.ForeignKey(ModelB, blank=True, null=True, related_name="Bs")
我的观点中有这个代码:
a = ModelA.objects.filter(ModelB__customid = Bobject_id)
我希望能够找到具有给定B对象的所有A对象。
有什么想法吗?
答案 0 :(得分:0)
a_objects = ModelA.objects.filter(b__customid=Bobject_id)
的文档
答案 1 :(得分:0)
假设您有ModelB的实例,最简单的方法是遵循相反的关系:
a_objects = b_object.Bs.all()
这使用您设置的显式related_name:没有它,它将是b_object.modela_set.all()
。请注意,您的related_name应该是“As”,而不是“Bs”,因为它指的是与该B相关的A对象。