class A(models.Model):
a = models.CharField(max_length=30)
class B(models.Model):
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
a_ref = models.ForeignKey(A, on_delete=models.CASCADE, null=True, related_name='sd')
b_name = models.CharField(max_length=30, null=False)
b_value = models.CharField(max_length=30, null=False)
现在,我想将过滤器应用于A,并在bset_name =“ first”
时在查询集中添加a_ref的值。filter_dict = {key:value}
fallback_filter = Q()
searched_data = A.objects.filter(fallback_filter)
searched_data = annotate(b_searched_value=FilteredRelation('sd', condition=Q(sd__b_name="first")))
for data in searched_data:
print(data)
现在在此数据中,我没有得到b_searched_value
的任何引用。我想直接获取数据本身中的b_value
的值,而不要使用'a_ref'进行另一个数据库调用。