File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 55from django .db import models
66from rest_framework import serializers
77
8+ from common .metadata .types import MetadataItem
9+
810if typing .TYPE_CHECKING :
911 from common .types import (
1012 Metadata , # noqa: F401
@@ -59,7 +61,7 @@ def get_required_for_object(
5961 def update_metadata (
6062 self ,
6163 instance : models .Model ,
62- metadata_data : list [dict [ str , typing . Any ] ],
64+ metadata_data : list [MetadataItem ],
6365 ) -> None :
6466 Metadata = apps .get_model ("metadata" , "Metadata" )
6567 ContentType = apps .get_model ("contenttypes" , "ContentType" )
@@ -83,7 +85,7 @@ def update_metadata(
8385
8486 for metadata_item in metadata_data :
8587 metadata_model_field = metadata_item .pop ("model_field" , None )
86- if metadata_model_field .id is not None :
88+ if metadata_model_field is not None and metadata_model_field .id is not None :
8789 Metadata .objects .update_or_create (
8890 model_field = metadata_model_field ,
8991 content_type = content_type ,
Original file line number Diff line number Diff line change 1+ from typing import TypedDict , Any , NotRequired , Protocol
2+ from django .contrib .contenttypes .models import ContentType
3+
4+ class HasId (Protocol ):
5+ id : int
6+
7+ class MetadataItem (TypedDict , total = False ):
8+ model_field : HasId
9+ field_value : Any
10+ delete : NotRequired [bool ]
You can’t perform that action at this time.
0 commit comments