我这样做:
p = MyModel.objects.filter(user__username="me").annotate(friend_count=Count(friends))
当我看到:
p[0]._meta.get_all_field_names()
它返回模型上定义的所有内容,但不返回带注释的字段'friend_count'
是否有可用于查看特定模型实例的所有带注释字段的函数?
答案 0 :(得分:1)
使用此:
p.query.annotations.keys()
它将给出所有带注释字段的列表。
答案 1 :(得分:0)
注释只是作为普通实例属性存储(就像ORM字段FWIW的值一样)。您可以使用dir(my_model_instance)
查看所有属性(类和实例),或仅使用普通实例属性my_model_instance.__dict__.keys()
。