Django:获取带注释的值

时间:2019-05-28 18:20:38

标签: django django-models django-queryset

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'进行另一个数据库调用。

0 个答案:

没有答案