我是Django的新手,并且很难解决这个问题..
型号:
class JakAlgAlgorithms(models.Model):
alg_id = models.AutoField(primary_key=True)
alg_name = models.CharField(max_length=100, blank=True)
alg_description = models.CharField(max_length=1000, blank=True)
def __unicode__(self):
return self.alg_name
class Meta:
db_table = u'jak_alg_algorithms'
class JakAlgXref(models.Model):
xref_alg = models.ForeignKey(JakAlgAlgorithms, related_name='jakalgxref_alg' ,null=True, blank=True)
xref_parent = models.ForeignKey(JakAlgAlgorithms, related_name='jakalgxref_parent', null=True, blank=True)
class Meta:
db_table = u'jak_alg_xref'
我要做的是返回算法的所有父母或子女。这是我设法到达的地方..
parents = JakAlgAlgorithms.objects.filter(jakalgxref_parent= algorithm.jakalgxref_alg.all())
然而,我意识到这对多个父母不起作用。如何使用过滤器使jakalgxref_parent等于algorithim.jakalgxref_alg.all()返回的每个值?好像我错过了一些简单的东西:/
答案 0 :(得分:0)
将以前的评论作为未来用户的答案发布。
您正在寻找的是:
parents = JakAlgAlgorithms.objects.filter(jakalgxref_parent__in= algorithm.jakalgxref_alg.all())
注意我只在您过滤了__in
子句..