@@ -2538,7 +2538,22 @@ def _create_model(
25382538 for jinja_macro in jinja_macros .root_macros .values ():
25392539 used_variables .update (extract_macro_references_and_variables (jinja_macro .definition )[1 ])
25402540
2541- default_audits = defaults .get ("audits" , None ) if kwargs .get ("audits" ) else None
2541+ # Merge model-specific audits with default audits
2542+ model_audits = kwargs .pop ("audits" , [])
2543+ default_audits = defaults .pop ("audits" , [])
2544+
2545+ if isinstance (model_audits , (exp .Tuple , exp .Array )):
2546+ model_audits_list = [d .extract_func_call (i ) for i in model_audits .expressions ]
2547+ elif isinstance (model_audits , exp .Paren ):
2548+ model_audits_list = [d .extract_func_call (model_audits .this )]
2549+ elif isinstance (model_audits , exp .Expression ):
2550+ model_audits_list = [d .extract_func_call (model_audits )]
2551+ elif isinstance (model_audits , list ):
2552+ model_audits_list = model_audits
2553+ else :
2554+ model_audits_list = []
2555+ merged_audits = default_audits + model_audits_list
2556+ kwargs ["audits" ] = merged_audits
25422557
25432558 model = klass (
25442559 name = name ,
@@ -2557,9 +2572,6 @@ def _create_model(
25572572 ** (inline_audits or {}),
25582573 }
25592574
2560- if default_audits :
2561- model = model .copy (update = {"audits" : default_audits + model .audits })
2562-
25632575 used_audits : t .Set [str ] = {audit_name for audit_name , _ in model .audits }
25642576
25652577 audit_definitions = {
0 commit comments